Skip to content

Commit b5bfc45

Browse files
lxbszvshankar
authored andcommitted
client: flush the caps release in filesystem sync
We have hit a race between cap releases and cap revoke request that will cause the check_caps() to miss sending a cap revoke ack to MDS. And the client will depend on the cap release to release that revoking caps, which could be delayed for some unknown reasons. In Kclient we have figured out the RCA about race and we need a way to explictly trigger this manually could help to get rid of the caps revoke stuck issue. Fixes: https://tracker.ceph.com/issues/67221 Signed-off-by: Xiubo Li <[email protected]>
1 parent cd8bdbe commit b5bfc45

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

src/client/Client.cc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12860,6 +12860,8 @@ int Client::_sync_fs()
1286012860
// flush the mdlog before waiting for unsafe requests.
1286112861
flush_mdlog_sync();
1286212862

12863+
flush_cap_releases();
12864+
1286312865
// wait for unsafe mds requests
1286412866
wait_unsafe_requests();
1286512867

0 commit comments

Comments
 (0)