Project

General

Profile

Actions

Bug #41434

closed

mds: infinite loop in Locker::file_update_finish()

Added by Zheng Yan over 4 years ago. Updated about 4 years ago.

Status:
Resolved
Priority:
High
Assignee:
Category:
-
Target version:
% 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:
Crash signature (v1):
Crash signature (v2):

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 3 (0 open3 closed)

Related to CephFS - Bug #41728: mds: hang during fragmentdirCan't reproduceZheng Yan

Actions
Copied to CephFS - Backport #42155: nautilus: mds: infinite loop in Locker::file_update_finish()ResolvedNathan CutlerActions
Copied to CephFS - Backport #42156: mimic: mds: infinite loop in Locker::file_update_finish()ResolvedZheng YanActions
Actions

Also available in: Atom PDF