Message ID | 20250227223916.143006-1-kbusch@meta.com (mailing list archive) |
---|---|
Headers | show |
Series | ublk zero copy support | expand |
On Thu, 27 Feb 2025 14:39:10 -0800, Keith Busch wrote: > This one completed liburing 'make runtests' successfully. > > Changes from v7: > > Prep patch, mostly from Jens, that removes the "do_import" parameter > from the generic rw prep. > > [...] Applied, thanks! [1/6] io_uring/rw: move buffer_select outside generic prep commit: 2a61e63891add7817e35a2323347ed8d354acf84 [2/6] io_uring/rw: move fixed buffer import to issue path commit: ff92d824d0b55e35ed2ee77021cbd2ed3e7ae7a2 [3/6] nvme: map uring_cmd data even if address is 0 commit: 99fde895ff56ac2241e7b7b4566731d72f2fdaa7 [4/6] io_uring: add support for kernel registered bvecs commit: 27cb27b6d5ea401143ca3648983342bb820c4be9 [5/6] ublk: zc register/unregister bvec commit: 1f6540e2aabb7372e68223a3669019589c3e30ad [6/6] io_uring: cache nodes and mapped buffers commit: ed9f3112a8a8f6e6919d3b9da2651fa302df7be3 Best regards,
From: Keith Busch <kbusch@kernel.org> This one completed liburing 'make runtests' successfully. Changes from v7: Prep patch, mostly from Jens, that removes the "do_import" parameter from the generic rw prep. Added check for kernel buffers in rw's loop submit. This file operation requires __user pointers, so can't use it there (Pavel) Added a bool, is_kbuf, so that we don't use the existence of the "release" callback to distinguish user vs kernel buffers. And had user buffers define its own release function so that we can remove a branch check on free. The io node and imu caching is moved from the table to ring ctx. This is the simplest solution to situations where the node outlives the table it came from. Fixed missing (parens) logical error checking for ublk flags. Minor cleanups to reduce diff churn. Keith Busch (5): io_uring/rw: move buffer_select outside generic prep io_uring/rw: move fixed buffer import to issue path io_uring: add support for kernel registered bvecs ublk: zc register/unregister bvec io_uring: cache nodes and mapped buffers Xinyu Zhang (1): nvme: map uring_cmd data even if address is 0 drivers/block/ublk_drv.c | 59 ++++++++-- drivers/nvme/host/ioctl.c | 2 +- include/linux/io_uring/cmd.h | 7 ++ include/linux/io_uring_types.h | 2 + include/uapi/linux/ublk_cmd.h | 4 + io_uring/filetable.c | 2 +- io_uring/io_uring.c | 5 + io_uring/opdef.c | 4 +- io_uring/rsrc.c | 189 +++++++++++++++++++++++++++++---- io_uring/rsrc.h | 13 ++- io_uring/rw.c | 85 ++++++++++----- io_uring/rw.h | 2 + 12 files changed, 318 insertions(+), 56 deletions(-)