]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: make sure kick wasn't immediatley fruitful in rdlock_try
authorSage Weil <sage@newdream.net>
Sun, 5 Apr 2009 04:12:18 +0000 (21:12 -0700)
committerSage Weil <sage@newdream.net>
Sun, 5 Apr 2009 04:12:18 +0000 (21:12 -0700)
src/mds/Locker.cc

index 1e0a19c93714f73e7171dcace77103fa239b796d..c779f44b5dd6f7e1b2b97842bde39aacbca9c95b 100644 (file)
@@ -595,6 +595,9 @@ bool Locker::rdlock_try(SimpleLock *lock, int client, Context *con)
   
   _rdlock_kick(lock);
 
+  if (lock->can_rdlock(client)) 
+    return true;
+
   // wait!
   dout(7) << "rdlock_try waiting on " << *lock << " on " << *lock->get_parent() << dendl;
   if (con) lock->add_waiter(SimpleLock::WAIT_RD, con);