Skip to content

fix uring teardown#140

Merged
hbirth merged 2 commits intoDDNStorage:redfs-rhel10_0from
hbirth:redfs-rhel10_0
Apr 10, 2026
Merged

fix uring teardown#140
hbirth merged 2 commits intoDDNStorage:redfs-rhel10_0from
hbirth:redfs-rhel10_0

Conversation

@hbirth
Copy link
Copy Markdown
Collaborator

@hbirth hbirth commented Apr 10, 2026

cherry pick from redfs-ubuntu-noble

hbirth added 2 commits April 10, 2026 10:11
Signed-off-by: Horst Birthelmer <hbirthelmer@ddn.com>
(cherry picked from commit ad21e5a)
Fix uninterruptible sleep (D state) hangs during FUSE filesystem
teardown when using io_uring. The issue manifests as processes stuck
waiting for requests that are never completed, particularly affecting
force requests like FUSE_FLUSH or when requests are created after
fuse_abort_conn() already finished.

If on daemon exit
io_uring_try_cancel_requests() runs and  calls fuse_uring_cancel()
which will teardown the entries by calling fuse_uring_entry_teardown()
before fuse_abort_conn() then we end up in fuse_uring_abort with
queue_refs == 0 and the queues are never stopped.

If the queues are stopped all new requests will be rejected, but
that does not happen, so all new calls are stuck.

Signed-off-by: Horst Birthelmer <hbirthelmer@ddn.com>
(cherry picked from commit 9550b4d)
@hbirth hbirth requested a review from bsbernd April 10, 2026 09:19
@hbirth hbirth merged commit 3542d8f into DDNStorage:redfs-rhel10_0 Apr 10, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants