[PATCH v7 0/4] io_uring: extend bvec registration
Joanne Koong <[email protected]>
| Newsgroups | org.kernel.vger.io-uring |
|---|---|
| Message-ID | <[email protected]> |
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/CAJnrk1YNh0KFxcGVO5VbkM=5WTBsxEOSKWwfcyBxrP=fiU4atg@mail.gmail.com/T/#t Changelog: v6: https://lore.kernel.org/io-uring/[email protected]/ v6 -> v7: * rebase to origin/for-next v5: https://lore.kernel.org/io-uring/[email protected]/ v5 -> v6: * rebase to origin/for-next v4: https://lore.kernel.org/io-uring/[email protected]/ 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/[email protected]/ 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/[email protected]/ 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/[email protected]/ 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