Re: [PATCH 11/11] block: don't check for BIO_MAX_PAGES in blk_bio_segment_split()

From: NeilBrown
Date: Sun Apr 23 2017 - 23:15:12 EST


On Fri, Apr 21 2017, Christoph Hellwig wrote:

> On Thu, Apr 20, 2017 at 03:38:50PM +1000, NeilBrown wrote:
>> blk_bio_segment_split() makes sure bios have no more than
>> BIO_MAX_PAGES entries in the bi_io_vec.
>> This was done because bio_clone_bioset() (when given a
>> mempool bioset) could not handle larger io_vecs.
>>
>> No driver uses bio_clone_bioset() any more, they all
>> use bio_clone_fast() if anything, and bio_clone_fast()
>> doesn't clone the bi_io_vec.
>
> Hmm. From Jens tree:
>
> drivers/lightnvm/pblk-read.c: int_bio = bio_clone_bioset(bio, GFP_KERNEL, fs_bio_set);

That is new and I missed it.
It should be bio_clone_fast(), and it shouldn't use fs_bio_set (as it is
not a filesystem).


> drivers/md/raid1.c: mbio = bio_clone_bioset_partial(bio, GFP_NOIO,
> drivers/md/raid1.c: mbio = bio_clone_bioset_partial(bio, GFP_NOIO,

These have since been changed to bio_clone_fast() or similar (in the md
tree) - and bio_clone_bioset_partial() is gone.

>
> I did not see your series touching either of those. They probably
> don't matter for the code removed as the bios are controlled by the
> drivers, but the changelog still seems odd.

Depending one what base it ends up being applied to, it may or may not
be correct... the md changes have been in -next since 28march.

Thanks,
NeilBrown

Attachment: signature.asc
Description: PGP signature