From: Xiubo Li Date: Thu, 4 May 2023 05:57:11 +0000 (+0800) Subject: client: flush the mdlog before waiting for unsafe requests X-Git-Tag: v17.2.7~182^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=fd8a8a3c9c2fc6884be8c077d8675560fdfce18d;p=ceph.git 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) --- diff --git a/src/client/Client.cc b/src/client/Client.cc index a51516aa13ef..bdee3b3176ff 100644 --- a/src/client/Client.cc +++ b/src/client/Client.cc @@ -11686,6 +11686,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();