Messages in this thread | | | Date | Wed, 16 Jul 2014 09:53:57 +0200 | From | Jens Axboe <> | Subject | Re: Bug_ON with patch: bio: modify __bio_add_page() to accept pages that don't start a new segment |
| |
On 2014-07-16 08:51, Maurizio Lombardi wrote: > 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?
Sure, we can try again, hopefully this will be the last of them.
-- Jens Axboe
| |