qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Brian Song <hibriansong@gmail.com>
To: bschubert@ddn.com, qemu-block@nongnu.org
Cc: Kevin Wolf <kwolf@redhat.com>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	qemu-devel@nongnu.org
Subject: [QEMU/FUSE] Discussion on Proper Termination and Async Cancellation in fuse-over-io_uring
Date: Fri, 1 Aug 2025 12:09:31 -0400	[thread overview]
Message-ID: <3867ced7-efb7-4a0f-ac0f-465631950bdb@gmail.com> (raw)

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	other threads:[~2025-08-01 17:47 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-08-01 16:09 Brian Song [this message]
2025-08-03 23:33 ` [QEMU/FUSE] Discussion on Proper Termination and Async Cancellation in fuse-over-io_uring Brian Song
2025-08-04 11:33   ` Bernd Schubert
2025-08-04 12:29     ` Kevin Wolf
2025-08-05  4:11     ` Brian Song
2025-08-07  9:05       ` Bernd Schubert
2025-08-07 15:15         ` Stefan Hajnoczi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3867ced7-efb7-4a0f-ac0f-465631950bdb@gmail.com \
    --to=hibriansong@gmail.com \
    --cc=bschubert@ddn.com \
    --cc=kwolf@redhat.com \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).