in buffer selection io_uring/cmd: set selected buffer index in __io_uring_cmd_done() fuse: refactor io-uring logic for getting next fuse request fuse: refactor io-uring header copying to ring fuse: refactor io-uring header copying from ring fuse: use enum types for header copying fuse: refactor setting up copy state for payload copying fuse: support buffer copying for kernel addresses fuse: add io-uring kernel-managed buffer ring io_uring/rsrc: rename io_buffer_register_bvec()/io_buffer_unregister_bvec() io_uring/rsrc: split io_buffer_register_request() logic io_uring/rsrc: Allow buffer release callback to be optional io_uring/rsrc: add io_buffer_register_bvec() fuse: add zero-copy over io-uring docs: fuse: add io-uring bufring and zero-copy documentation Documentation/block/ublk.rst | 14 +- .../filesystems/fuse/fuse-io-uring.rst | 59 +- drivers/block/ublk_drv.c | 18 +- fs/fuse/dev.c | 30 +- fs/fuse/dev_uring.c | 711 ++++++++++++++---- fs/fuse/dev_uring_i.h | 41 +- fs/fuse/fuse_dev_i.h | 8 +- include/linux/io_uring/buf.h | 25 + include/linux/io_uring/cmd.h | 99 ++- include/linux/io_uring_types.h | 10 +- include/uapi/linux/fuse.h | 17 +- include/uapi/linux/io_uring.h | 17 +- io_uring/kbuf.c | 350 +++++++-- io_uring/kbuf.h | 29 +- io_uring/memmap.c | 117 ++- io_uring/memmap.h | 4 + io_uring/register.c | 9 +- io_uring/rsrc.c | 190 ++++- io_uring/rsrc.h | 5 + io_uring/uring_cmd.c | 65 +- 20 files changed, 1541 insertions(+), 277 deletions(-) create mode 100644 include/linux/io_uring/buf.h -- 2.47.3[PATCH v3 00/25] fuse/io-uring: add kernel-managed buffer rings and zero-copyJoanne Koong undefinedmiklos@szeredi.hu, axboe@kernel.dk undefined undefined undefined undefined undefined undefined undefined undefined©5„×w