| From: |
| Joanne Koong <joannelkoong-AT-gmail.com> |
| To: |
| axboe-AT-kernel.dk |
| Subject: |
| [PATCH v4 0/5] io_uring: extend bvec registration and add mem region lookup |
| Date: |
| Fri, 27 Mar 2026 10:26:26 -0700 |
| Message-ID: |
| <20260327172631.3380702-1-joannelkoong@gmail.com> |
| Cc: |
| csander-AT-purestorage.com, asml.silence-AT-gmail.com, io-uring-AT-vger.kernel.org |
| Archive-link: |
| Article |
This series refactors and extends the io_uring registered buffers
infrastructure to allow external subsystems to register pre-existing bvec
arrays directly and get information about the ring's registered memory region.
The motivation for the patches in this series is to make fuse zero-copy
possible. These patches are split out from a previous larger
fuse-over-io_uring series [1]. The fuse changes that build on this patchset
are in [2].
Thanks,
Joanne
[1] https://lore.kernel.org/linux-fsdevel/20260116233044.1532...
[2] https://lore.kernel.org/linux-fsdevel/20260324224532.3733...
Changelog:
v3: https://lore.kernel.org/io-uring/20260324221426.3436334-1...
v3 -> v4:
* Add comment about io_uring_registered_mem_region_get() locking (Jens)
* Return info in a new struct io_uring_mem_region_info (Jens)
v2: https://lore.kernel.org/io-uring/20260324182157.990864-1-...
v2 -> v3:
* drop patch that makes buffer release callback optional
* add patch for renaming/exporting IO_IMU_DEST / IO_IMU_SOURCE
v1: https://lore.kernel.org/io-uring/20260324001007.1144471-1...
v1 -> v2:
* update io_kernel_buffer_init() to take bitmasked dir directly so callers can
set both dest and source
Joanne Koong (5):
io_uring/rsrc: rename
io_buffer_register_bvec()/io_buffer_unregister_bvec()
io_uring/rsrc: split io_buffer_register_request() logic
io_uring/rsrc: add io_buffer_register_bvec()
io_uring/rsrc: rename and export IO_IMU_DEST / IO_IMU_SOURCE
io_uring/rsrc: add io_uring_registered_mem_region_get()
Documentation/block/ublk.rst | 14 +--
drivers/block/ublk_drv.c | 22 ++---
include/linux/io_uring/cmd.h | 53 ++++++++++--
include/linux/io_uring_types.h | 5 ++
io_uring/io_uring.c | 2 +-
io_uring/rsrc.c | 152 +++++++++++++++++++++++++--------
io_uring/rsrc.h | 5 --
7 files changed, 186 insertions(+), 67 deletions(-)
--
2.52.0