]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: kick linklock on revoke_stale_caps
authorSage Weil <sage@newdream.net>
Fri, 20 May 2011 00:20:18 +0000 (17:20 -0700)
committerSage Weil <sage@newdream.net>
Fri, 20 May 2011 00:20:18 +0000 (17:20 -0700)
Also use the eval() method and issue caps instead of calling the individual
eval methods.

Signed-off-by: Sage Weil <sage@newdream.net>
src/mds/Locker.cc

index 18ee3e6e3e35d6cabd326e10a1e89a657ed38da2..fcb594c766582cb8e44d60f791e539a0d84e0281 100644 (file)
@@ -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);
       }