Hi Bernd,

We are currently working on implementing termination support for fuse-over-io_uring in QEMU, and right now we are focusing on how to clean up in-flight SQEs properly. Our main question is about how well the kernel supports robust cancellation for these fuse-over-io_uring SQEs. Does it actually implement cancellation beyond destroying the io_uring queue?

In QEMU FUSE export, we need a way to quickly and cleanly detach from the event loop and cancel any pending SQEs when an export is no longer in use. Ideally, we want to avoid the more drastic measure of having to close the entire /dev/fuse fd just to gracefully terminate outstanding operations.

We are not sure if there's an existing code path that supports async cancel for these in-flight SQEs in the fuse-over-io_uring setup, or if additional callbacks might be needed to fully integrate with the kernel's async cancel mechanism. We also realized libfuse manages shutdowns differently, typically by signaling a thread via eventfd rather than relying on async cancel.

Would love to hear your thoughts or suggestions on this!

Thanks,
Brian

Reply via email to