提交 6c0ad5df 编写于 作者: L Linus Torvalds

Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block

* 'for-linus' of git://git.kernel.dk/linux-2.6-block:
  Revert "blkdev: fix merge_bvec_fn return value checks"
...@@ -555,7 +555,7 @@ static int __bio_add_page(struct request_queue *q, struct bio *bio, struct page ...@@ -555,7 +555,7 @@ static int __bio_add_page(struct request_queue *q, struct bio *bio, struct page
.bi_rw = bio->bi_rw, .bi_rw = bio->bi_rw,
}; };
if (q->merge_bvec_fn(q, &bvm, prev) != prev->bv_len) { if (q->merge_bvec_fn(q, &bvm, prev) < len) {
prev->bv_len -= len; prev->bv_len -= len;
return 0; return 0;
} }
...@@ -608,7 +608,7 @@ static int __bio_add_page(struct request_queue *q, struct bio *bio, struct page ...@@ -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 * merge_bvec_fn() returns number of bytes it can accept
* at this offset * at this offset
*/ */
if (q->merge_bvec_fn(q, &bvm, bvec) != bvec->bv_len) { if (q->merge_bvec_fn(q, &bvm, bvec) < len) {
bvec->bv_page = NULL; bvec->bv_page = NULL;
bvec->bv_len = 0; bvec->bv_len = 0;
bvec->bv_offset = 0; bvec->bv_offset = 0;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册