On Wed, Jan 6, 2016 at 2:29 PM, Ming Lei <tom.leiming@xxxxxxxxx> wrote: > On Wed, Jan 6, 2016 at 1:51 PM, Keith Busch <keith.busch@xxxxxxxxx> wrote: >> On Wed, Jan 06, 2016 at 10:17:51AM +0800, Ming Lei wrote: >>> Firstly we didn't split one single bio vector before bio splitting. >>> >>> Secondly, current bio split still doesn't support to split one single >>> bvec into two, and it just makes the two bios shared the original >>> bvec table, please see bio_split(), which calls bio_clone_fast() >>> to do that, and the bvec table has been immutable at that time. >> >> You are saying we can't split a bio in the middle of a vector? > > I mean the current block stack may not be ready for that. > >> bvec_iter_advance() says we can split anywhere. > > bvec_iter_advance() can split anywhere, but the splitted bios may > cross one same bvec, which may cause trouble, for example, > BIOVEC_PHYS_MERGEABLE() may not work well and > blk_phys_contig_segment() too. blk_rq_map_sg() isn't ready for splitting in the middle of bvec too. Thanks, -- To unsubscribe from this list: send the line "unsubscribe linux-block" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html