kclient: filesystem sync will stuck for around 5 seconds sometimes
We have fixed the fsync(fd) case in the following commits:
6316d4197437 ("ceph: put the requests/sessions when it fails to alloc memory") 716e68d445fa ("ceph: fix off by one bugs in unsafe_request_wait()") 2e31f19343da ("ceph: flush the mdlog before waiting on unsafe reqs") 65628853caba ("ceph: flush mdlog before umounting") 4c0090260622 ("ceph: make iterate_sessions a global symbol") 90803e2b16ec ("ceph: make ceph_create_session_msg a global symbol")
But when syncing the whole filesystem we still could hit this bug. We need to send the mdlog flush request to the MDSes when waiting the unsafe requests to finish.
- Status changed from In Progress to Fix Under Review
The patchwork link: https://patchwork.kernel.org/project/ceph-devel/list/?series=631476