]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
client: flush the mdlog before waiting for unsafe requests
authorXiubo Li <xiubli@redhat.com>
Thu, 4 May 2023 05:57:11 +0000 (13:57 +0800)
committerXiubo Li <xiubli@redhat.com>
Tue, 4 Jul 2023 01:49:37 +0000 (09:49 +0800)
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 <xiubli@redhat.com>
(cherry picked from commit 2b715b858e36a82b42b12129fcfcc13090f30a93)

src/client/Client.cc

index 52980d5ecb07ca185b4a154bbb11b69a7afcb643..bdb25a48d2bbb045a95001623aaeaf043d3310e6 100644 (file)
@@ -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();