]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: choose LOCK if !replicated and dirty scatterlock
authorSage Weil <sage@newdream.net>
Mon, 30 Aug 2010 19:54:35 +0000 (12:54 -0700)
committerSage Weil <sage@newdream.net>
Tue, 7 Sep 2010 19:10:27 +0000 (12:10 -0700)
src/mds/CInode.h

index e1aec5ee30b32e833671f833397b7a662c7cff29..dd4b0c0feffe58a52b96a5a07b4add54a38724ec 100644 (file)
@@ -627,7 +627,12 @@ public:
        lock->set_state(LOCK_EXCL);
       else if (issued & CEPH_CAP_GWR)
        lock->set_state(LOCK_MIX);
-      else
+      else if (lock->is_dirty()) {
+       if (is_replicated())
+         lock->set_state(LOCK_MIX);
+       else
+         lock->set_state(LOCK_LOCK);
+      } else
        lock->set_state(LOCK_SYNC);
     } else {
       if (lock->is_xlocked())