|
|
Log in / Subscribe / Register

io_uring: extend bvec registration

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




Copyright © 2026, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds