From: Christoph Hellwig <hch@infradead.org>
To: Keith Busch <kbusch@meta.com>
Cc: linux-block@vger.kernel.org, axboe@kernel.dk,
Keith Busch <kbusch@kernel.org>
Subject: Re: [PATCHv2] blk-mq: set the nr_integrity_segments from bio
Date: Tue, 3 Sep 2024 21:34:55 -0700 [thread overview]
Message-ID: <Ztfjb8UlOfHYtMTT@infradead.org> (raw)
In-Reply-To: <20240903191325.3642403-1-kbusch@meta.com>
On Tue, Sep 03, 2024 at 12:13:25PM -0700, Keith Busch wrote:
> From: Keith Busch <kbusch@kernel.org>
>
> This value is used for potential merging later.
>
> Signed-off-by: Keith Busch <kbusch@kernel.org>
> ---
> v1->v2:
>
> Check the bio actually has integrity before counting the segments. I
> previously tested v1 with additional experimental patches atop that
> addressed the problem differently and didn't notice the obvious API
> requirement.
>
> block/blk-mq.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/block/blk-mq.c b/block/blk-mq.c
> index 36abbaefe3874..3ed5181c75610 100644
> --- a/block/blk-mq.c
> +++ b/block/blk-mq.c
> @@ -2546,6 +2546,10 @@ static void blk_mq_bio_to_request(struct request *rq, struct bio *bio,
> rq->__sector = bio->bi_iter.bi_sector;
> rq->write_hint = bio->bi_write_hint;
> blk_rq_bio_prep(rq, bio, nr_segs);
> +#if defined(CONFIG_BLK_DEV_INTEGRITY)
> + if (bio->bi_opf & REQ_INTEGRITY)
> + rq->nr_integrity_segments = blk_rq_count_integrity_sg(rq->q, bio);
Hmm. The current model is that drivers are supposed to
clal this, which they should stop doing now that the block layer
maintains this count. So I think this needs a bit more work, after
which blk_rq_count_integrity_sg is also unexported, nad preferably
also has a name that drops the incorrect _sg.
next prev parent reply other threads:[~2024-09-04 4:34 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-03 19:13 [PATCHv2] blk-mq: set the nr_integrity_segments from bio Keith Busch
2024-09-04 4:34 ` Christoph Hellwig [this message]
2024-09-04 14:47 ` Keith Busch
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=Ztfjb8UlOfHYtMTT@infradead.org \
--to=hch@infradead.org \
--cc=axboe@kernel.dk \
--cc=kbusch@kernel.org \
--cc=kbusch@meta.com \
--cc=linux-block@vger.kernel.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.