From: Brian Song <hibrians...@gmail.com>

Hello,

This is a GSoC project. You could check out more here:
https://wiki.qemu.org/Google_Summer_of_Code_2025#FUSE-over-io_uring_exports

This series:
- Merges the request processing functions for both traditional FUSE
  and FUSE-over-io_uring modes
- Implements multi-threading (Multi-IOThread)
- Improves FUSE-over-io_uring termination handling

Due to kernel limitations, when the FUSE-over-io_uring option is
enabled,
you must create and assign nr_cpu IOThreads. For example:

qemu-storage-daemon \
  --object iothread,id=iothread1 \
  --object iothread,id=iothread2 \
  --blockdev node-name=prot-node,driver=file,filename=img.qcow2 \
  --blockdev node-name=fmt-node,driver=qcow2,file=prot-node \
  --export type=fuse,id=exp0,node-name=fmt-node,mountpoint=mount-point, \
  writable=on,iothread.0=iothread1,iothread.1=iothread2


More detail on the v1 cover letter:
https://lists.nongnu.org/archive/html/qemu-block/2025-07/msg00280.html

Brian Song (3):
  fuse: add FUSE-over-io_uring enable opt and init
  fuse: Handle FUSE-uring requests
  fuse: Safe termination for FUSE-uring

 block/export/fuse.c                  | 632 ++++++++++++++++++++-------
 docs/tools/qemu-storage-daemon.rst   |  11 +-
 qapi/block-export.json               |   5 +-
 storage-daemon/qemu-storage-daemon.c |   1 +
 util/fdmon-io_uring.c                |   5 +-
 5 files changed, 486 insertions(+), 168 deletions(-)

--
2.45.2


Reply via email to