From: Sage Weil Date: Fri, 20 May 2011 00:20:18 +0000 (-0700) Subject: mds: kick linklock on revoke_stale_caps X-Git-Tag: v0.29~50 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=4404116b5a5faf6816533d5670646d4fa4e3ee29;p=ceph.git mds: kick linklock on revoke_stale_caps Also use the eval() method and issue caps instead of calling the individual eval methods. Signed-off-by: Sage Weil --- diff --git a/src/mds/Locker.cc b/src/mds/Locker.cc index 18ee3e6e3e3..fcb594c7665 100644 --- a/src/mds/Locker.cc +++ b/src/mds/Locker.cc @@ -1465,13 +1465,12 @@ void Locker::revoke_stale_caps(Session *session) in->state_set(CInode::STATE_NEEDSRECOVER); if (!in->filelock.is_stable()) eval_gather(&in->filelock); + if (!in->linklock.is_stable()) eval_gather(&in->linklock); if (!in->authlock.is_stable()) eval_gather(&in->authlock); if (!in->xattrlock.is_stable()) eval_gather(&in->xattrlock); if (in->is_auth()) { - if (in->filelock.is_stable()) eval(&in->filelock); - if (in->authlock.is_stable()) eval(&in->authlock); - if (in->xattrlock.is_stable()) eval(&in->xattrlock); + eval(in, CEPH_CAP_LOCKS); } else { request_inode_file_caps(in); }