From: Keith Busch <kbusch@xxxxxxxxxx> Handling passthrough metadata ("integrity") today introduces overhead and complications that we can avoid if we just map user space addresses directly. This patch series implements that, falling back to a kernel bounce buffer if necessary. v1->v2: Bounce to a kernel buffer if the user buffer fails to map to the device's integrity constraints. The user address remains pinned for the duration of the IO, which makes the copy out on completion safe within interrupt context. Merged up to current io_uring branch, which moved the driver owned flags to a different file. Keith Busch (4): block: bio-integrity: directly map user buffers nvme: use bio_integrity_map_user iouring: remove IORING_URING_CMD_POLLED io_uring: remove uring_cmd cookie block/bio-integrity.c | 202 ++++++++++++++++++++++++++++++++++++++ drivers/nvme/host/ioctl.c | 174 +++++--------------------------- include/linux/bio.h | 9 ++ include/linux/io_uring.h | 9 +- io_uring/uring_cmd.c | 1 - 5 files changed, 240 insertions(+), 155 deletions(-) -- 2.34.1