Loading block/blk-merge.c +7 −2 Original line number Diff line number Diff line Loading @@ -447,7 +447,7 @@ static int blk_phys_contig_segment(struct request_queue *q, struct bio *bio, return biovec_phys_mergeable(q, &end_bv, &nxt_bv); } static struct scatterlist *blk_next_sg(struct scatterlist **sg, static inline struct scatterlist *blk_next_sg(struct scatterlist **sg, struct scatterlist *sglist) { if (!*sg) Loading Loading @@ -512,6 +512,11 @@ __blk_segment_map_sg(struct request_queue *q, struct bio_vec *bvec, (*sg)->length += nbytes; } else { new_segment: if (bvec->bv_offset + bvec->bv_len <= PAGE_SIZE) { *sg = blk_next_sg(sg, sglist); sg_set_page(*sg, bvec->bv_page, nbytes, bvec->bv_offset); (*nsegs) += 1; } else (*nsegs) += blk_bvec_map_sg(q, bvec, sglist, sg); } *bvprv = *bvec; Loading Loading
block/blk-merge.c +7 −2 Original line number Diff line number Diff line Loading @@ -447,7 +447,7 @@ static int blk_phys_contig_segment(struct request_queue *q, struct bio *bio, return biovec_phys_mergeable(q, &end_bv, &nxt_bv); } static struct scatterlist *blk_next_sg(struct scatterlist **sg, static inline struct scatterlist *blk_next_sg(struct scatterlist **sg, struct scatterlist *sglist) { if (!*sg) Loading Loading @@ -512,6 +512,11 @@ __blk_segment_map_sg(struct request_queue *q, struct bio_vec *bvec, (*sg)->length += nbytes; } else { new_segment: if (bvec->bv_offset + bvec->bv_len <= PAGE_SIZE) { *sg = blk_next_sg(sg, sglist); sg_set_page(*sg, bvec->bv_page, nbytes, bvec->bv_offset); (*nsegs) += 1; } else (*nsegs) += blk_bvec_map_sg(q, bvec, sglist, sg); } *bvprv = *bvec; Loading