On Fri, Apr 21 2017, Ming Lei wrote: > On Fri, Apr 21, 2017 at 7:34 PM, Christoph Hellwig <hch@xxxxxxxxxxxxx> 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); >> drivers/md/raid1.c: mbio = bio_clone_bioset_partial(bio, GFP_NOIO, >> drivers/md/raid1.c: mbio = bio_clone_bioset_partial(bio, GFP_NOIO, > > Btrfs use bio_clone_bioset() too: > > fs/btrfs/extent_io.c:2703: new = bio_clone_bioset(bio, > gfp_mask, btrfs_bioset); > btrfs is a filesystem, not a driver. So it doesn't count. The bios it uses were not yet processed by blk_bio_segment_split(), so changes there cannot be relevant to btrfs. Thanks, NeilBrown
Attachment:
signature.asc
Description: PGP signature