diff --git a/[refs] b/[refs] index bf6cdda1cc52..f7f61595d961 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 53c583d2269851de9df1c2e992cb2f7f124a5f55 +refs/heads/master: 9f7cdbc33f36d28e57eaba0093f68f0d14c38c5b diff --git a/trunk/fs/bio.c b/trunk/fs/bio.c index dc17afd672e3..0bda289f86fc 100644 --- a/trunk/fs/bio.c +++ b/trunk/fs/bio.c @@ -555,7 +555,7 @@ static int __bio_add_page(struct request_queue *q, struct bio *bio, struct page .bi_rw = bio->bi_rw, }; - if (q->merge_bvec_fn(q, &bvm, prev) < len) { + if (q->merge_bvec_fn(q, &bvm, prev) != prev->bv_len) { prev->bv_len -= len; return 0; } @@ -608,7 +608,7 @@ static int __bio_add_page(struct request_queue *q, struct bio *bio, struct page * merge_bvec_fn() returns number of bytes it can accept * at this offset */ - if (q->merge_bvec_fn(q, &bvm, bvec) < len) { + if (q->merge_bvec_fn(q, &bvm, bvec) != bvec->bv_len) { bvec->bv_page = NULL; bvec->bv_len = 0; bvec->bv_offset = 0;