From: Keith Busch <kbusch@xxxxxxxxxx> 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(-) -- 2.43.5