]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
mds: explain clients retaining Fb during xlock
authorPatrick Donnelly <pdonnell@redhat.com>
Sat, 27 Jan 2024 20:00:53 +0000 (15:00 -0500)
committerPatrick Donnelly <pdonnell@redhat.com>
Fri, 1 Mar 2024 14:39:02 +0000 (09:39 -0500)
Fixes: https://tracker.ceph.com/issues/64198
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
src/mds/locks.c

index f6ff8b9824a187143d7c50120fd6d578eeb7807e..08ee3350ec0c89d3fb7dce6141cb4539c83856de 100644 (file)
@@ -98,6 +98,7 @@ const struct sm_state_t filelock[LOCK_MAX] = {
     [LOCK_MIX_LOCK2] = { LOCK_LOCK, false, LOCK_LOCK, 0,    0,   REQ, 0,   0,   0,   0,   0,0,0,0 },
     [LOCK_XSYN_LOCK] = { LOCK_LOCK, true,  LOCK_LOCK, AUTH, 0,   0,   XCL, 0,   0,   0,   0,CEPH_CAP_GCACHE|CEPH_CAP_GBUFFER,0,0 },
 
+    /* Keep Fcb to allow rapid recall of Fw. The client can keep buffered writes / cached reads. */
     [LOCK_PREXLOCK]  = { LOCK_LOCK, false, LOCK_LOCK, 0,    XCL, 0,   0,   0,   0,   ANY, CEPH_CAP_GCACHE|CEPH_CAP_GBUFFER,0,0,0 },
     [LOCK_XLOCK]     = { LOCK_LOCK, false, LOCK_LOCK, 0,    XCL, 0,   0,   0,   0,   0,   CEPH_CAP_GCACHE|CEPH_CAP_GBUFFER,0,0,0 },
     [LOCK_XLOCKDONE] = { LOCK_LOCK, false, LOCK_LOCK, XCL,  XCL, XCL, 0,   0,   XCL, 0,   CEPH_CAP_GCACHE|CEPH_CAP_GBUFFER,0,CEPH_CAP_GSHARED,0 },