From: "Alexander V. Buev" <a.buev@yadro.com>
To: <linux-block@vger.kernel.org>
Cc: <io-uring@vger.kernel.org>, Jens Axboe <axboe@kernel.dk>,
"Christoph Hellwig" <hch@lst.de>,
"Martin K . Petersen" <martin.petersen@oracle.com>,
Pavel Begunkov <asml.silence@gmail.com>,
Chaitanya Kulkarni <chaitanyak@nvidia.com>,
Mikhail Malygin <m.malygin@yadro.com>, <linux@yadro.com>,
"Alexander V. Buev" <a.buev@yadro.com>
Subject: [PATCH v5 0/3] implement direct IO with integrity
Date: Tue, 20 Sep 2022 17:46:15 +0300 [thread overview]
Message-ID: <20220920144618.1111138-1-a.buev@yadro.com> (raw)
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 v4:
- fixed sparse warnings reported by robot
- some litle code sync rw.c -> rw_pi.c
- some includes cleanup
Changes since v3:
- fixed warnings reported by robot
Changes since v2:
- separate code from fast path
- keep rw_pi struct size <= 64 byte
- using kiocb->private pointer to pass
PI data iterator to block direct IO layer
- improved bio_integrity_add_iovec function
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 | 163 +++++++++
block/fops.c | 80 +++++
include/linux/bio.h | 8 +
include/linux/fs.h | 1 +
include/uapi/linux/io_uring.h | 6 +
include/uapi/linux/uio.h | 3 +-
io_uring/Makefile | 3 +-
io_uring/io_uring.c | 2 +
io_uring/opdef.c | 27 ++
io_uring/rw.h | 4 +
io_uring/rw_pi.c | 630 ++++++++++++++++++++++++++++++++++
io_uring/rw_pi.h | 34 ++
12 files changed, 959 insertions(+), 2 deletions(-)
create mode 100644 io_uring/rw_pi.c
create mode 100644 io_uring/rw_pi.h
--
2.30.2
next reply other threads:[~2022-09-20 14:47 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-09-20 14:46 Alexander V. Buev [this message]
2022-09-20 14:46 ` [PATCH v5 1/3] block: bio-integrity: add PI iovec to bio Alexander V. Buev
2022-09-27 7:47 ` Christoph Hellwig
2022-09-20 14:46 ` [PATCH v5 2/3] block: io-uring: add READV_PI/WRITEV_PI operations Alexander V. Buev
2022-09-21 17:59 ` Jens Axboe
2022-09-22 12:48 ` Alexander V. Buev
2022-09-22 14:08 ` Jens Axboe
2022-09-20 14:46 ` [PATCH v5 3/3] block: fops: handle IOCB_USE_PI in direct IO Alexander V. Buev
2022-09-20 20:12 ` [PATCH v5 0/3] implement direct IO with integrity Keith Busch
2022-09-21 9:26 ` Alexander V. Buev
2022-09-22 14:09 ` Jens Axboe
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220920144618.1111138-1-a.buev@yadro.com \
--to=a.buev@yadro.com \
--cc=asml.silence@gmail.com \
--cc=axboe@kernel.dk \
--cc=chaitanyak@nvidia.com \
--cc=hch@lst.de \
--cc=io-uring@vger.kernel.org \
--cc=linux-block@vger.kernel.org \
--cc=linux@yadro.com \
--cc=m.malygin@yadro.com \
--cc=martin.petersen@oracle.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).