| From: |
| "Alexander V. Buev" <a.buev-AT-yadro.com> |
| To: |
| <linux-block-AT-vger.kernel.org> |
| Subject: |
| [PATCH v2 0/3] implement direct IO with integrity |
| Date: |
| Thu, 10 Feb 2022 16:08:22 +0300 |
| Message-ID: |
| <20220210130825.657520-1-a.buev@yadro.com> |
| Cc: |
| <io-uring-AT-vger.kernel.org>, Jens Axboe <axboe-AT-kernel.dk>, Christoph Hellwig <hch-AT-lst.de>, "Martin K . Petersen" <martin.petersen-AT-oracle.com>, Pavel Begunkov <asml.silence-AT-gmail.com>, Chaitanya Kulkarni <chaitanyak-AT-nvidia.com>, Mikhail Malygin <m.malygin-AT-yadro.com>, <linux-AT-yadro.com>, "Alexander V. Buev" <a.buev-AT-yadro.com> |
| Archive-link: |
| Article |
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