]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: fix LocalLock xlocking by replacing default
authorGreg Farnum <gregf@hq.newdream.net>
Tue, 5 Oct 2010 00:00:54 +0000 (17:00 -0700)
committerGreg Farnum <gregf@hq.newdream.net>
Tue, 5 Oct 2010 18:20:26 +0000 (11:20 -0700)
src/mds/LocalLock.h
src/mds/Locker.cc

index 432fc8100954912d23ce60f15b51ec67bc77f7b0..a4c9d61119f230545e0853ddccad825c145d3d55 100644 (file)
@@ -31,6 +31,10 @@ public:
     return true;
   }
 
+  bool can_xlock_local() {
+    return !is_wrlocked();
+  }
+
   bool can_wrlock() {
     return !is_xlocked();
   }
index 5a5abe8bf3178216867b9a63e8946d9cd6e2e8cc..08c307da547b52a313a3e1c5b04c9c71cae69e69 100644 (file)
@@ -3556,7 +3556,7 @@ bool Locker::local_xlock_start(LocalLock *lock, MDRequest *mut)
   dout(7) << "local_xlock_start  on " << *lock
          << " on " << *lock->get_parent() << dendl;  
   
-  if (!lock->can_xlock(-1)) {
+  if (!lock->can_xlock_local()) {
     lock->add_waiter(SimpleLock::WAIT_WR|SimpleLock::WAIT_STABLE, new C_MDS_RetryRequest(mdcache, mut));
     return false;
   }