This series of patches makes possible to do direct block IO with integrity payload using io uring kernel interface. Userspace app can utilize new READV_PI/WRITEV_PI operation with a new fields in sqe struct (pi_addr/pi_len) to provide iovec's with integrity data. Changes since v1: - switch to using separated io uring op codes and additional sqe fields (instead of sqe flag) - ability to process multiple iovecs - use unused space in bio to pin user pages Alexander V. Buev (3): block: bio-integrity: add PI iovec to bio block: io_uring: add READV_PI/WRITEV_PI operations block: fops: handle IOCB_USE_PI in direct IO block/bio-integrity.c | 151 +++++++++++++++++++++++ block/fops.c | 62 ++++++++++ fs/io_uring.c | 209 ++++++++++++++++++++++++++++++++ include/linux/bio.h | 8 ++ include/linux/fs.h | 2 + include/trace/events/io_uring.h | 17 +-- include/uapi/linux/io_uring.h | 6 +- include/uapi/linux/uio.h | 3 +- 8 files changed, 449 insertions(+), 9 deletions(-) -- 2.34.1