|
|
Log in / Subscribe / Register

implement direct IO with integrity

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



Copyright © 2022, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds