]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: ignore done_locking on slave requests' acquire_locks()
authorSage Weil <sage@newdream.net>
Sun, 7 Nov 2010 03:55:12 +0000 (20:55 -0700)
committerSage Weil <sage@newdream.net>
Sun, 7 Nov 2010 04:00:55 +0000 (21:00 -0700)
Slave requests ask for each xlock one at a time.  Don't bail out based on
the done_locking flag.

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

index ee1ccdc32575b8e2d57d1a6d62d88d07efb9e45c..7f78c25caf0b3ad70398d0eb88c1b23c33580336 100644 (file)
@@ -172,7 +172,8 @@ bool Locker::acquire_locks(MDRequest *mdr,
                           set<SimpleLock*> &wrlocks,
                           set<SimpleLock*> &xlocks)
 {
-  if (mdr->done_locking) {
+  if (mdr->done_locking &&
+      !mdr->is_slave()) {  // not on slaves!  master requests locks piecemeal.
     dout(10) << "acquire_locks " << *mdr << " - done locking" << dendl;    
     return true;  // at least we had better be!
   }