Project

General

Profile

Bug #41434

mds: infinite loop in Locker::file_update_finish()

Added by Zheng Yan 24 days ago. Updated 24 days ago.

Status:
Need Review
Priority:
High
Assignee:
Category:
-
Target version:
Start date:
Due date:
% Done:

0%

Source:
Development
Tags:
Backport:
nautilus,mimic
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Component(FS):
MDS
Labels (FS):
Pull request ID:

Description


    while (p != in->client_snap_caps.end()) {
      auto q = p->second.find(client);
      if (q != p->second.end()) {
        SimpleLock *lock = in->get_lock(p->first);
        ceph_assert(lock);
        dout(10) << " completing client_snap_caps for " << ccap_string(p->first)
                 << " lock " << *lock << " on " << *in << dendl;
        lock->put_wrlock();

        p->second.erase(q);
        if (p->second.empty()) {
          gather = true;
          in->client_snap_caps.erase(p++);
        } else
          ++p;
      }
      // it happens when q == p->second.end()
    }


Related issues

Related to fs - Bug #41728: mds: hang during fragmentdir Need More Info

History

#1 Updated by Patrick Donnelly 24 days ago

  • Assignee set to Zheng Yan
  • Priority changed from Normal to High
  • Target version set to v15.0.0
  • Start date deleted (08/26/2019)
  • Source set to Development
  • Backport set to nautilus,mimic
  • Component(FS) MDS added

#2 Updated by Zheng Yan 24 days ago

  • Status changed from New to Need Review
  • Pull request ID set to 29902

#3 Updated by Patrick Donnelly 2 days ago

  • Related to Bug #41728: mds: hang during fragmentdir added

Also available in: Atom PDF