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. v2->v3: Introduces a multi-page bvec iterator. Fix leaking pinned user pages (Kanchan) Fix final unpaired 'put' on user pages (Kanchan) Doesn't increase the size of 'struct bio_integrity_profile'; if the 'copy_vec' pointer is needed, it gets appended to the existing bvec. Fix compiler warnings Fix compiler error for !CONFIG_BLK_INTEGRITY Keith Busch (5): bvec: introduce multi-page bvec iterating 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 | 212 ++++++++++++++++++++++++++++++++++++++ drivers/nvme/host/ioctl.c | 197 ++++++----------------------------- include/linux/bio.h | 12 +++ include/linux/bvec.h | 6 ++ include/linux/io_uring.h | 9 +- io_uring/uring_cmd.c | 1 - 6 files changed, 261 insertions(+), 176 deletions(-) -- 2.34.1