Messages in this thread | | | Date | Wed, 16 Jul 2014 08:51:09 +0200 | From | Maurizio Lombardi <> | Subject | Re: Bug_ON with patch: bio: modify __bio_add_page() to accept pages that don't start a new segment |
| |
Hi,
On 07/15/2014 10:44 AM, Maurizio Lombardi wrote: >> I have reverted it yesterday in my tree. >> > > > The problem was here: > > if (q->merge_bvec_fn) { > struct bvec_merge_data bvm = { > .bi_bdev = bio->bi_bdev, > .bi_sector = bio->bi_iter.bi_sector, > .bi_size = bio->bi_iter.bi_size, <------- > .bi_rw = bio->bi_rw, > }; > > /* > * merge_bvec_fn() returns number of bytes it can accept > * at this offset > */ > if (q->merge_bvec_fn(q, &bvm, bvec) < bvec->bv_len) > goto failed; > } > > /* If we may be able to merge these biovecs, force a recount */ > if (bio->bi_vcnt > 1 && (BIOVEC_PHYS_MERGEABLE(bvec-1, bvec))) > bio->bi_flags &= ~(1 << BIO_SEG_VALID); > > > it should have been ".bi_size = bio->bi_iter.bi_size - len" >
Jens, will you restore the patch in your tree if I submit this fix?
Thanks, Maurizio Lombardi
| |