[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <7ifxn2xgtn2ptlaxow4447vfo2p4chhz4d52svaccgl4u5wag3@hvgf5yslldzs>
Date: Mon, 28 Apr 2025 12:26:33 -0400
From: Kent Overstreet <kent.overstreet@...ux.dev>
To: Arnaud Lecomte <contact@...aud-lcm.com>
Cc: syzbot+843981bb836d699c07d1@...kaller.appspotmail.com,
linux-bcachefs@...r.kernel.org, linux-kernel@...r.kernel.org, syzkaller-bugs@...glegroups.com
Subject: Re: syztest
On Mon, Apr 28, 2025 at 06:09:03PM +0200, Arnaud Lecomte wrote:
> #syz test
Don't rely on syzbot for testing, you really need to be running the
tests yourself and looking at all the output.
It's not enough to know that we're not crashing anymore, we want the
filesystem to repair and mount successfully.
> --- a/fs/bcachefs/fsck.c
> +++ b/fs/bcachefs/fsck.c
> @@ -976,7 +976,24 @@ int bch2_fsck_update_backpointers(struct btree_trans *trans,
> int ret = 0;
>
> if (d->v.d_type == DT_SUBVOL) {
> - BUG();
> + struct bch_subvolume subvol;
> +
> + ret = bch2_subvolume_get(trans, le32_to_cpu(d->v.d_child_subvol),
> + false, &subvol);
> + if (ret && !bch2_err_matches(ret, ENOENT))
> + goto err;
> +
> + ret = get_visible_inodes(trans, &target, s, le64_to_cpu(subvol.inode));
> + if (ret)
> + goto err;
> +
> + if (target.inodes.nr) {
> + target.inodes.data[0].inode.bi_dir_offset = d->k.p.offset;
> + ret = __bch2_fsck_write_inode(trans, &target.inodes.data[0].inode);
> + if (ret)
> + goto err;
> + }
> +
> } else {
> ret = get_visible_inodes(trans, &target, s, le64_to_cpu(d->v.d_inum));
> if (ret)
> --
> 2.43.0
Powered by blists - more mailing lists