]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: revoke client leases on replica dn lock
authorSage Weil <sage.weil@dreamhost.com>
Fri, 22 Jul 2011 15:50:45 +0000 (08:50 -0700)
committerSage Weil <sage.weil@dreamhost.com>
Fri, 22 Jul 2011 15:50:45 +0000 (08:50 -0700)
If a replica dentry gets a LOCK message, revoke client leases.  Don't just
wait for them to expire!

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
src/mds/Locker.cc

index 17c78440561f1b7b974902b60d270721b3c7b9b9..7a61d157996a5247f84b14819727bad5b80f9a92 100644 (file)
@@ -3060,6 +3060,8 @@ void Locker::handle_simple_lock(SimpleLock *lock, MLock *m)
   case LOCK_AC_LOCK:
     assert(lock->get_state() == LOCK_SYNC);
     lock->set_state(LOCK_SYNC_LOCK);
+    if (lock->is_leased())
+      revoke_client_leases(lock);
     eval_gather(lock, true);
     break;