]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: explicitly issue_caps for rdlock_finish_set
authorSage Weil <sage@newdream.net>
Thu, 9 Jun 2011 19:53:40 +0000 (12:53 -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/Locker.cc

index c3034d88e94aa91e77df8baa0fcb604fadd6d9f1..e669997c13ca4424c489176cbf13362f6047d07e 100644 (file)
@@ -997,8 +997,12 @@ void Locker::rdlock_take_set(set<SimpleLock*>& locks)
 void Locker::rdlock_finish_set(set<SimpleLock*>& locks)
 {
   dout(10) << "rdlock_finish_set " << locks << dendl;
-  for (set<SimpleLock*>::iterator p = locks.begin(); p != locks.end(); ++p)
-    rdlock_finish(*p, 0);
+  for (set<SimpleLock*>::iterator p = locks.begin(); p != locks.end(); ++p) {
+    bool need_issue = false;
+    rdlock_finish(*p, 0, &need_issue);
+    if (need_issue)
+      issue_caps((CInode*)(*p)->get_parent());
+  }
 }