bcachefs: mark invalid_btree_id autofix
authorBharadwaj Raju <bharadwaj.raju777@gmail.com>
Fri, 27 Jun 2025 16:41:29 +0000 (22:11 +0530)
committerKent Overstreet <kent.overstreet@linux.dev>
Fri, 27 Jun 2025 16:47:07 +0000 (12:47 -0400)
Checking for invalid IDs was introduced in 9e7cfb35e266 ("bcachefs: Check for invalid btree IDs")
to prevent an invalid shift later, but since 141526548052 ("bcachefs: Bad btree roots are now autofix")
which made btree_root_bkey_invalid autofix, the fsck_err_on call didn't
do anything.

We can mark this err type (invalid_btree_id) autofix as well, so it gets
handled.

Reported-by: syzbot+029d1989099aa5ae3e89@syzkaller.appspotmail.com
Closes: https://syzkaller.appspot.com/bug?extid=029d1989099aa5ae3e89
Fixes: 141526548052 ("bcachefs: Bad btree roots are now autofix")

Signed-off-by: Bharadwaj Raju <bharadwaj.raju777@gmail.com>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
fs/bcachefs/sb-errors_format.h

index 0641fb634bd490a3648200cad8d9ee4728ee6597..d154b7651d2875980f28836b65d81badde414b8c 100644 (file)
@@ -314,7 +314,7 @@ enum bch_fsck_flags {
        x(accounting_mismatch,                                  272,    FSCK_AUTOFIX)   \
        x(accounting_replicas_not_marked,                       273,    0)              \
        x(accounting_to_invalid_device,                         289,    0)              \
-       x(invalid_btree_id,                                     274,    0)              \
+       x(invalid_btree_id,                                     274,    FSCK_AUTOFIX)           \
        x(alloc_key_io_time_bad,                                275,    0)              \
        x(alloc_key_fragmentation_lru_wrong,                    276,    FSCK_AUTOFIX)   \
        x(accounting_key_junk_at_end,                           277,    FSCK_AUTOFIX)   \