]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: fix ->mix lock transition
authorSage Weil <sage@newdream.net>
Wed, 18 Mar 2009 20:36:00 +0000 (13:36 -0700)
committerSage Weil <sage@newdream.net>
Wed, 18 Mar 2009 20:36:00 +0000 (13:36 -0700)
Bcast to replicas if we have nothing to gather in file_mixed().

src/mds/Locker.cc

index b7e0bd16c4203572b675ac8741ea8c7e6214929a..457f00bb472df7a69974de63a6758f0b1172862c 100644 (file)
@@ -2951,6 +2951,11 @@ void Locker::file_mixed(ScatterLock *lock)
     else {
       in->try_drop_loner();
       lock->set_state(LOCK_MIX);
+      if (in->is_replicated()) {
+       bufferlist softdata;
+       lock->encode_locked_state(softdata);
+       send_lock_message(lock, LOCK_AC_MIX, softdata);
+      }
       if (lock->get_cap_shift())
        issue_caps(in);
     }