]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: explicitly issue_caps after file_recover
authorSage Weil <sage@newdream.net>
Thu, 9 Jun 2011 21:07:39 +0000 (14:07 -0700)
committerSage Weil <sage@newdream.net>
Thu, 9 Jun 2011 23:14:02 +0000 (16:14 -0700)
Signed-off-by: Sage Weil <sage@newdream.net>
src/mds/MDCache.cc

index 00e0e7c1f5a61fc7122e30a2ed1e8c0cdb4bf52e..0ebdc8aa351faab7e44468dc8f4e247164b9cb4e 100644 (file)
@@ -5008,9 +5008,12 @@ void MDCache::do_file_recover()
               << " " << *in << dendl;
       in->state_clear(CInode::STATE_NEEDSRECOVER);
       in->auth_unpin(this);
-      if (in->filelock.is_stable())
-       mds->locker->eval(&in->filelock);
-      else
+      if (in->filelock.is_stable()) {
+       bool need_issue = false;
+       mds->locker->eval(&in->filelock, &need_issue);
+       if (need_issue)
+         mds->locker->issue_caps(in);
+      } else
        mds->locker->eval_gather(&in->filelock);
     }
   }