From: Stefan Hajnoczi <stefanha@redhat.com>
To: Brian Song <hibriansong@gmail.com>
Cc: qemu-block@nongnu.org, qemu-devel@nongnu.org, armbru@redhat.com,
bschubert@ddn.com, fam@euphon.net, hreitz@redhat.com,
kwolf@redhat.com
Subject: Re: [PATCH RFC 0/1] block/export: FUSE-over-io_uring Support for QEMU FUSE Exports
Date: Sun, 20 Jul 2025 12:13:51 -0400 [thread overview]
Message-ID: <20250720161351.GA32887@fedora> (raw)
In-Reply-To: <20250716183824.216257-1-hibriansong@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 2026 bytes --]
On Wed, Jul 16, 2025 at 02:38:23PM -0400, Brian Song wrote:
> This RFC patch represents an initial implementation of the FUSE-over-
> io_uring Exports idea proposed for Google Summer of Code (2025) under
> the QEMU community:
> https://wiki.qemu.org/Google_Summer_of_Code_2025#FUSE-over-io_uring_exports
>
> The implementation approach is primarily borrowed from how libfuse
> interacts with the kernel.
>
> FUSE-over-io_uring (https://docs.kernel.org/next/filesystems/fuse-io-
> uring.html) has been officially merged into the Linux kernel. The idea
> is to replace the traditional /dev/fuse based communication with a more
> efficient io_uring-based approach. In this model, userspace registers
> io_uring SQEs via the FUSE_IO_URING_CMD_REGISTER opcode, and then waits
> for the kernel to forward FUSE requests as CQEs. These are processed by
> the FUSE exports implementation in userspace and then committed back to
> the kernel using FUSE_IO_URING_CMD_COMMIT_AND_FETCH.
>
> To enable this feature in qemu-export-daemon, simply add the uring=on
> option to the export configuration.
For consistency with the --blockdev file,aio=io_uring option, please
name it "io_uring=on" instead of "uring=on".
>
> As this patch is still in the RFC stage, it currently supports **only
> single thread**. Due to protocol requirements in FUSE-over-io_uring,
> the number of FUSE threads must match the number of CPUs. Therefore,
> this initial version only works on single-core VMs (i.e., QEMU started
> with -smp 1) or single core machine.
>
> Brian Song (1):
> block/export: FUSE-over-io_uring Support for QEMU FUSE Exports
>
> block/export/fuse.c | 423 +++++++++++++++++++++++++--
> docs/tools/qemu-storage-daemon.rst | 10 +-
> qapi/block-export.json | 6 +-
> storage-daemon/qemu-storage-daemon.c | 1 +
> util/fdmon-io_uring.c | 5 +-
> 5 files changed, 420 insertions(+), 25 deletions(-)
>
> --
> 2.50.1
>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
next prev parent reply other threads:[~2025-07-21 12:40 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-16 18:38 [PATCH RFC 0/1] block/export: FUSE-over-io_uring Support for QEMU FUSE Exports Brian Song
2025-07-16 18:38 ` [PATCH RFC 1/1] " Brian Song
2025-07-17 6:03 ` Markus Armbruster
2025-07-22 12:00 ` Brian Song
2025-07-21 0:53 ` Stefan Hajnoczi
2025-07-22 12:00 ` Brian Song
2025-07-22 15:17 ` Kevin Wolf
2025-07-22 14:06 ` Bernd Schubert
2025-07-22 15:43 ` Stefan Hajnoczi
2025-07-22 16:20 ` Bernd Schubert
2025-07-21 13:51 ` Bernd Schubert
2025-07-21 18:26 ` Stefan Hajnoczi
2025-07-22 12:00 ` Brian Song
2025-07-22 14:51 ` Stefan Hajnoczi
2025-07-24 20:36 ` Stefan Hajnoczi
2025-07-22 13:32 ` Kevin Wolf
2025-12-10 22:10 ` Bernd Schubert
2025-12-11 4:40 ` Brian Song
2025-07-20 16:13 ` Stefan Hajnoczi [this message]
2025-07-22 12:00 ` [PATCH RFC 0/1] " Brian Song
2025-07-22 14:47 ` 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=20250720161351.GA32887@fedora \
--to=stefanha@redhat.com \
--cc=armbru@redhat.com \
--cc=bschubert@ddn.com \
--cc=fam@euphon.net \
--cc=hibriansong@gmail.com \
--cc=hreitz@redhat.com \
--cc=kwolf@redhat.com \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.