Re: [PATCHv2] blk-mq: set the nr_integrity_segments from bio

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Sep 03, 2024 at 09:34:55PM -0700, Christoph Hellwig wrote:
> On Tue, Sep 03, 2024 at 12:13:25PM -0700, Keith Busch wrote:
> > --- 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.

Sure, I have a larger patch set in the works doing pretty much that.
I wanted the request's existing field to be accurate first because
inaccurate values break merging. But I can post the rest of series if
you prefer to see drivers rely on the existing field instead of
recounting the segments.




[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux