On Wed, Jan 06, 2016 at 02:53:22PM +0800, Ming Lei wrote: > On Wed, Jan 6, 2016 at 2:29 PM, Ming Lei <tom.leiming@xxxxxxxxx> wrote: > > > > bvec_iter_advance() can split anywhere, but the splitted bios may > > cross one same bvec, which may cause trouble, Cross? One starts where the other starts. Could you please explain what's wrong? > > for example, > > BIOVEC_PHYS_MERGEABLE() may not work well and > > blk_phys_contig_segment() too. Could you please explain why it may not work well? I have no idea what concern you have with BIOVEC_PHYS_MERGEABLE in this case. The only place blk_phys_contig_segment is called from is ll_merge_requests, and the first req of the split bio wouldn't even go through here because it's marked REQ_NOMERGE. > blk_rq_map_sg() isn't ready for splitting in the middle of bvec too. Could you please explain? It just uses the bio iterator, which I'm pretty sure is not broken. -- 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