]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: eval locks too in reissue_all_caps after mds restart
authorSage Weil <sage@newdream.net>
Tue, 14 Jul 2009 20:46:58 +0000 (13:46 -0700)
committerSage Weil <sage@newdream.net>
Tue, 14 Jul 2009 20:46:58 +0000 (13:46 -0700)
We may have correct wanted, issued info for the clients, but that
doesn't help us if we don't use it.

src/mds/MDCache.cc

index 476895cea164eb007c1df35bfc657b0834361e46..b928a0addbbabaccfcf541b13d4068c45f5d912b 100644 (file)
@@ -4222,8 +4222,10 @@ void MDCache::reissue_all_caps()
        p != inode_map.end();
        ++p) {
     CInode *in = p->second;
-    if (in->is_any_caps())
-      mds->locker->issue_caps(in);
+    if (in->is_any_caps()) {
+      if (!mds->locker->eval(in, CEPH_CAP_LOCKS))
+       mds->locker->issue_caps(in);
+    }
   }
 }