X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=block%2Fblk-merge.c;h=261353166dcf33a042ea4466ecae044388dddc98;hb=6d4c1a30b32a377083900f39c42bcacb633f99a1;hp=888a7fec81f715199c3050576516e55b692f2b9b;hpb=6719f657e420600443f1a78dcd987c82ece1f473;p=uclinux-h8%2Flinux.git diff --git a/block/blk-merge.c b/block/blk-merge.c index 888a7fec81f7..261353166dcf 100644 --- a/block/blk-merge.c +++ b/block/blk-merge.c @@ -304,7 +304,6 @@ static int blk_phys_contig_segment(struct request_queue *q, struct bio *bio, struct bio *nxt) { struct bio_vec end_bv = { NULL }, nxt_bv; - struct bvec_iter iter; if (!blk_queue_cluster(q)) return 0; @@ -316,11 +315,8 @@ static int blk_phys_contig_segment(struct request_queue *q, struct bio *bio, if (!bio_has_data(bio)) return 1; - bio_for_each_segment(end_bv, bio, iter) - if (end_bv.bv_len == iter.bi_size) - break; - - nxt_bv = bio_iovec(nxt); + bio_get_last_bvec(bio, &end_bv); + bio_get_first_bvec(nxt, &nxt_bv); if (!BIOVEC_PHYS_MERGEABLE(&end_bv, &nxt_bv)) return 0;