Re: [PATCH 1/2] block: Rework bio_for_each_segment_all()

From: Phillip Lougher
Date: Mon Apr 03 2023 - 09:57:29 EST


On 01/04/2023 03:28, Kent Overstreet wrote:
On Fri, Mar 31, 2023 at 02:10:15AM +0100, Phillip Lougher wrote:
On 30/03/2023 19:59, Phillip Lougher wrote:
On 30/03/2023 18:55, Kent Overstreet wrote:
On Wed, Mar 29, 2023 at 05:50:27PM +0100, Phillip Lougher wrote:
There is a problem with the above code, on testing I get the following
results:

Index 78018785329, offset 49, bvec.bv_len 1024: In same bio,
metadata length
32780

Could you share how you're doing your testing? I set up a basic test
(created images using every compression type, tested reading them) and
so far I'm not able to reproduce this.

I use a very large Squashfs file that triggers the edge case.

That is too big to post, and so I'll see if I can artifically generate
a small Squashfs filesystem that triggers the edge case.

Phillip



Hi,

This is a Google drive link to a file that triggers the issue.

https://drive.google.com/file/d/1-3-a1BKq62hZGQ6ynioreMSWFMuCV9B4/view?usp=sharing

To reproduce the issue

% mount -t squashfs <the file> /mnt -o errors=panic

then either one of the following will produce a panic

% ls /mnt
% find /mnt -type f | xargs wc > /dev/null

Appears to be fixed now - updated version of the patchset is at
https://evilpiepirate.org/git/bcachefs.git bio_folio_iter

Can you confirm, then I'll mail out the updated series?

Thw updated patch-set fixes the issues seen.

Phillip