From 32b7d2794cceea1e628dcadd627d25072f59a26a Mon Sep 17 00:00:00 2001 From: Xiubo Li Date: Thu, 4 May 2023 13:57:11 +0800 Subject: [PATCH] client: flush the mdlog before waiting for unsafe requests For safe replies the clients need to wait the MDS daemons to flush the journal logs to Rados first. The worst case it will take 5 seconds. Just trigger to flush the journal logs before waiting. Fixes: https://tracker.ceph.com/issues/59705 Signed-off-by: Xiubo Li (cherry picked from commit 2b715b858e36a82b42b12129fcfcc13090f30a93) --- src/client/Client.cc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/client/Client.cc b/src/client/Client.cc index 52980d5ecb0..bdb25a48d2b 100644 --- a/src/client/Client.cc +++ b/src/client/Client.cc @@ -11691,6 +11691,9 @@ int Client::_sync_fs() flush_caps_sync(); ceph_tid_t flush_tid = last_flush_tid; + // flush the mdlog before waiting for unsafe requests. + flush_mdlog_sync(); + // wait for unsafe mds requests wait_unsafe_requests(); -- 2.47.3