| From: |
| Joanne Koong <joannelkoong-AT-gmail.com> |
| To: |
| axboe-AT-kernel.dk |
| Subject: |
| [PATCH v7 0/4] io_uring: extend bvec registration |
| Date: |
| Fri, 12 Jun 2026 11:48:36 -0700 |
| Message-ID: |
| <20260612184840.4058966-1-joannelkoong@gmail.com> |
| Cc: |
| miklos-AT-szeredi.hu, csander-AT-purestorage.com, io-uring-AT-vger.kernel.org |
| Archive-link: |
| Article |
No changes from v6 except rebasing to the top of Jens's for-next tree.
This series refactors and extends the io_uring registered buffers
infrastructure to allow external subsystems to register pre-existing bvec
arrays directly.
The motivation for the patches in this series is to make fuse zero-copy
possible. The fuse zero-copy work is in [1].
[1] https://lore.kernel.org/fuse-devel/CAJnrk1YNh0KFxcGVO5Vbk...
Changelog:
v6: https://lore.kernel.org/io-uring/20260403174139.3634824-1...
v6 -> v7:
* rebase to origin/for-next
v5: https://lore.kernel.org/io-uring/20260402160929.2749744-1...
v5 -> v6:
* rebase to origin/for-next
v4: https://lore.kernel.org/io-uring/20260327172631.3380702-1...
v4 -> v5:
* rebase to origin/for-7.1/io_uring
* drop the io_uring_registered_mem_region_get() patch
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 (4):
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
Documentation/block/ublk.rst | 14 ++--
drivers/block/ublk_drv.c | 22 +++---
include/linux/io_uring/cmd.h | 38 ++++++++--
include/linux/io_uring_types.h | 5 ++
io_uring/io_uring.c | 2 +-
io_uring/rsrc.c | 127 +++++++++++++++++++++++----------
io_uring/rsrc.h | 5 --
7 files changed, 146 insertions(+), 67 deletions(-)
--
2.52.0