]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: choose EXCL state for filelock when client has Fb capability
authorYan, Zheng <zyan@redhat.com>
Fri, 30 Oct 2015 09:21:11 +0000 (17:21 +0800)
committerYan, Zheng <zyan@redhat.com>
Tue, 1 Dec 2015 14:19:47 +0000 (22:19 +0800)
Signed-off-by: Yan, Zheng <zyan@redhat.com>
(cherry picked from commit 655ae79dd266dfd488aff67642aceab4ab383d01)

src/mds/CInode.cc

index cb5d8f283c3b68c2faf5a852103d54379dca7831..2c384225b89d074e1539e8fdcfee4b4f1badc5c2 100644 (file)
@@ -2675,7 +2675,7 @@ void CInode::choose_lock_state(SimpleLock *lock, int allissued)
     if (lock->is_xlocked()) {
       // do nothing here
     } else if (lock->get_state() != LOCK_MIX) {
-      if (issued & CEPH_CAP_GEXCL)
+      if (issued & (CEPH_CAP_GEXCL | CEPH_CAP_GBUFFER))
        lock->set_state(LOCK_EXCL);
       else if (issued & CEPH_CAP_GWR)
        lock->set_state(LOCK_MIX);