linux-block.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jens Axboe <axboe@kernel.dk>
To: Christoph Hellwig <hch@lst.de>
Cc: "Alexander V. Buev" <a.buev@yadro.com>,
	linux-block@vger.kernel.org,
	"Martin K . Petersen" <martin.petersen@oracle.com>,
	Mikhail Malygin <m.malygin@yadro.com>,
	linux@yadro.com
Subject: Re: [PATCH 0/3] implement direct IO with integrity
Date: Thu, 28 Oct 2021 09:20:46 -0600	[thread overview]
Message-ID: <85a4c250-c189-db5f-0625-2aa4bd1305f8@kernel.dk> (raw)
In-Reply-To: <20211028151851.GC9468@lst.de>

On 10/28/21 9:18 AM, Christoph Hellwig wrote:
> On Thu, Oct 28, 2021 at 09:13:07AM -0600, Jens Axboe wrote:
>> A couple of suggestions on this:
>>
>> 1) Don't think we need an IOSQE flag, those are mostly reserved for
>>    modifiers that apply to (mostly) all kinds of requests
>> 2) I think this would be cleaner as a separate command, rather than
>>    need odd adjustments and iov assumptions. That also gets it out
>>    of the fast path.
>>
>> I'd add IORING_OP_READV_PI and IORING_OP_WRITEV_PI for this, I think
>> you'd end up with a much cleaner implementation that way.
> 
> Agreed.  I also wonder if we could do saner paramter passing.
> E.g. pass a separate pointer to the PI data if we find space for
> that somewhere in the SQE.

Yeah, the whole "put PI in the last iovec" makes the code really ugly
dealing with it. Would be a lot cleaner to separate the two. IMHO this
is largely a work-around that you'd apply to syscall interfaces that
only take the iovec, but we don't need to work around it here if we can
define a clean command upfront.

And if we don't need vectored requests for the data part, then even
better. That one might not be feasible, but figured I'd toss it out
there.

-- 
Jens Axboe


  reply	other threads:[~2021-10-28 15:20 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-28 11:24 [PATCH 0/3] implement direct IO with integrity Alexander V. Buev
2021-10-28 11:24 ` [PATCH 1/3] block: bio-integrity: add PI iovec to bio Alexander V. Buev
2021-10-28 15:16   ` Christoph Hellwig
2021-10-29  0:11   ` Chaitanya Kulkarni
2021-10-29  4:27   ` Martin K. Petersen
2021-10-29 10:59     ` Alexander V. Buev
2021-10-29  8:40   ` kernel test robot
2021-10-29  8:53   ` kernel test robot
2021-10-29  9:48   ` kernel test robot
2021-10-28 11:24 ` [PATCH 2/3] block: io_uring: add IO_WITH_PI flag to SQE Alexander V. Buev
2021-10-28 11:24 ` [PATCH 3/3] block: fops: handle IOCB_USE_PI in direct IO Alexander V. Buev
2021-10-28 15:17   ` Christoph Hellwig
2021-10-29  9:04   ` kernel test robot
2021-10-28 15:13 ` [PATCH 0/3] implement direct IO with integrity Jens Axboe
2021-10-28 15:18   ` Christoph Hellwig
2021-10-28 15:20     ` Jens Axboe [this message]
2021-10-28 15:44       ` Mikhail Malygin
2021-10-28 15:50         ` Jens Axboe
2021-10-28 15:56           ` Pavel Begunkov
2021-10-28 16:22             ` Jens Axboe
2021-10-28 17:11               ` Pavel Begunkov
2021-10-28 17:45                 ` Jens Axboe
2021-10-29  3:39       ` Martin K. Petersen
2021-10-28 15:25   ` 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=85a4c250-c189-db5f-0625-2aa4bd1305f8@kernel.dk \
    --to=axboe@kernel.dk \
    --cc=a.buev@yadro.com \
    --cc=hch@lst.de \
    --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).