Loading block/blk-merge.c +9 −3 Original line number Diff line number Diff line Loading @@ -286,10 +286,16 @@ static struct bio *blk_bio_segment_split(struct request_queue *q, bvprv = bv; bvprvp = &bvprv; if (bvec_split_segs(q, &bv, &nsegs, &seg_size, &front_seg_size, §ors)) if (bv.bv_offset + bv.bv_len <= PAGE_SIZE) { nsegs++; seg_size = bv.bv_len; sectors += bv.bv_len >> 9; if (nsegs == 1 && seg_size > front_seg_size) front_seg_size = seg_size; } else if (bvec_split_segs(q, &bv, &nsegs, &seg_size, &front_seg_size, §ors)) { goto split; } } do_split = false; Loading Loading
block/blk-merge.c +9 −3 Original line number Diff line number Diff line Loading @@ -286,10 +286,16 @@ static struct bio *blk_bio_segment_split(struct request_queue *q, bvprv = bv; bvprvp = &bvprv; if (bvec_split_segs(q, &bv, &nsegs, &seg_size, &front_seg_size, §ors)) if (bv.bv_offset + bv.bv_len <= PAGE_SIZE) { nsegs++; seg_size = bv.bv_len; sectors += bv.bv_len >> 9; if (nsegs == 1 && seg_size > front_seg_size) front_seg_size = seg_size; } else if (bvec_split_segs(q, &bv, &nsegs, &seg_size, &front_seg_size, §ors)) { goto split; } } do_split = false; Loading