]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: only revoke client leases when there are leases in AC_LOCK handler
authorSage Weil <sage@newdream.net>
Mon, 23 Aug 2010 18:50:30 +0000 (11:50 -0700)
committerSage Weil <sage@newdream.net>
Mon, 23 Aug 2010 18:50:30 +0000 (11:50 -0700)
Fixes crash, bc the revoke func assumes it's a CDentry

src/mds/Locker.cc

index 3cb02000142ec81a6c4ef88eb048706e6f46460d..cf461ce246b7a2dd218b8708f3803f91a8f6797b 100644 (file)
@@ -2693,7 +2693,8 @@ void Locker::handle_simple_lock(SimpleLock *lock, MLock *m)
        lock->get_num_client_lease()) {
       dout(7) << "handle_simple_lock has reader|leases, waiting before ack on " << *lock
              << " on " << *lock->get_parent() << dendl;
-      revoke_client_leases(lock);
+      if (lock->get_num_client_lease())
+       revoke_client_leases(lock);
       lock->set_state(LOCK_SYNC_LOCK);
     } else {
       // update lock and reply