This series of patches makes possible to do direct block IO with integrity payload using io uring kernel interface. Userspace app can utilize READV/WRITEV operation with a new (unused before) flag in sqe struct to mark IO request as "request with integrity payload". When this flag is set, the last of provided iovecs must contain pointer and length of this integrity payload. Alexander V. Buev (3): block: bio-integrity: add PI iovec to bio block: io_uring: add IO_WITH_PI flag to SQE block: fops: handle IOCB_USE_PI in direct IO block/bio-integrity.c | 124 +++++++++++++++++++++++++++++++++- block/fops.c | 71 +++++++++++++++++++ fs/io_uring.c | 32 ++++++++- include/linux/bio.h | 8 +++ include/linux/fs.h | 1 + include/uapi/linux/io_uring.h | 3 + 6 files changed, 235 insertions(+), 4 deletions(-) -- 2.33.0