From: Patrick Donnelly Date: Sun, 29 Apr 2018 01:42:03 +0000 (-0700) Subject: mds: kick rdlock if waiting for dirfragtreelock X-Git-Tag: v13.1.0~35^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F21720%2Fhead;p=ceph.git mds: kick rdlock if waiting for dirfragtreelock Fixes: https://tracker.ceph.com/issues/23919 Signed-off-by: Patrick Donnelly --- diff --git a/src/mds/MDCache.cc b/src/mds/MDCache.cc index 6803eeadee2f..a471996bc023 100644 --- a/src/mds/MDCache.cc +++ b/src/mds/MDCache.cc @@ -6900,8 +6900,9 @@ bool MDCache::trim_inode(CDentry *dn, CInode *in, CDir *con, mapis_auth() && !in->dirfragtreelock.can_read(-1)) + if (!in->is_auth() && !mds->locker->rdlock_try(&in->dirfragtreelock, -1, nullptr)) { return true; + } // DIR list dfls;