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

index 38fbfe11517590d28157235d947c612262ad1784..e0234df4a5f5958eb11f9bf6f1d264a7ef1bdbf1 100644 (file)
@@ -1375,8 +1375,11 @@ void Server::dispatch_slave_request(MDRequest *mdr)
       SimpleLock *lock = mds->locker->get_lock(mdr->slave_request->get_lock_type(),
                                               mdr->slave_request->get_object_info());
       assert(lock);
-      mds->locker->xlock_finish(lock, mdr);
-      
+      bool need_issue = false;
+      mds->locker->xlock_finish(lock, mdr, &need_issue);
+      if (need_issue)
+       mds->locker->issue_caps((CInode*)lock->get_parent());
+
       // done.  no ack necessary.
       mdr->slave_request->put();
       mdr->slave_request = 0;