[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CACVXFVPDcvZEsNt7miMa4y+vsN15PLUZs29GA7UDWeTBiFE8OA@mail.gmail.com>
Date: Sat, 12 Mar 2016 18:36:56 +0800
From: Ming Lei <tom.leiming@...il.com>
To: Kent Overstreet <kent.overstreet@...il.com>
Cc: Ming Lin <mlin@...nel.org>, Jens Axboe <axboe@...nel.dk>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: e827091cb1 "block: merge: get the 1st and last bvec via helpers" broken
Hi Kent,
On Sat, Mar 12, 2016 at 5:24 PM, Kent Overstreet
<kent.overstreet@...il.com> wrote:
> On Sat, Mar 12, 2016 at 04:49:41PM +0800, Ming Lei wrote:
>> On Sat, Mar 12, 2016 at 3:43 PM, Kent Overstreet
>> <kent.overstreet@...il.com> wrote:
>> > I don't know exactly how it's broken, but with that patch segment counting is
>> > broken - I'm seeing blk_rq_map_sg() overrun the end of the sgtable.
>> >
>> > I suggest reverting it for 4.5...
>>
>> Kent, could you share your test case? I'd like to figure out the root cause.
>
> xfstest 036 on bcachefs.
Given bcachefs isn't merged, could you provide one way to reproduce it
with clean upstream kernel?
>
>> BTW, I don't object to revert it given it is close to v4.5 release, but I am
>> curious how it breaks segment couting.
>
> If you want to debug your version (personally I'd just revert to the simpler
> one), I'd start by having your helper use both methods to calculate the last
> biovec, and then assert that they're equal.
>
> Also make sure you're testing with a sub-page sized blocksize, if filesystem
> blocksize == page size you're not going to be testing the interesting cases
I just run xfstests 036 over bcache and md, with block size 1024/2048, with
xfs/ext4/btrfs, looks the segment counting issue can't be reproduced.
If the issue can only be reproduced with bcachefs, I suggest we don't revert
it until the root cause is figured out.
Thanks,
Ming Lei
Powered by blists - more mailing lists