]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: fix scatterlock lease revocation
authorSage Weil <sage@newdream.net>
Fri, 28 Mar 2008 17:48:33 +0000 (10:48 -0700)
committerSage Weil <sage@newdream.net>
Fri, 28 Mar 2008 17:48:33 +0000 (10:48 -0700)
src/mds/Locker.cc
src/mds/ScatterLock.h

index 5512db0fbb1d03898a604f6a6167fdc05ef850e0..79e70e5a0749141667828c9a5c834da9573d8d70 100644 (file)
@@ -1696,6 +1696,7 @@ bool Locker::scatter_wrlock_start(ScatterLock *lock, MDRequest *mdr)
       !lock->get_parent()->is_replicated() &&
       !lock->is_rdlocked() &&
       !lock->is_xlocked() &&
+      lock->get_num_client_lease() == 0 &&
       lock->get_state() == LOCK_SYNC) 
     lock->set_state(LOCK_SCATTER);
   //scatter_scatter(lock);
index 24a1361f82d68388205c0ce188a0e358eb1d32fa..97e09f0032d9ac707376987998bb06a68e0023bf 100644 (file)
@@ -167,6 +167,8 @@ public:
     out << get_lock_type_name(get_type()) << " ";
     out << get_scatterlock_state_name(get_state());
     if (!get_gather_set().empty()) out << " g=" << get_gather_set();
+    if (get_num_client_lease())
+      out << " c=" << get_num_client_lease();
     if (is_rdlocked()) 
       out << " r=" << get_num_rdlocks();
     if (is_xlocked())