KEY_TYPE_error was unhandled; also add a warning for other unhandled key
types.

Reported-by: syzbot+397f6fe952a0defb9...@syzkaller.appspotmail.com
Signed-off-by: Kent Overstreet <kent.overstr...@linux.dev>
---
 fs/bcachefs/fs.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/fs/bcachefs/fs.c b/fs/bcachefs/fs.c
index 2789b30add10..56b7126bc31d 100644
--- a/fs/bcachefs/fs.c
+++ b/fs/bcachefs/fs.c
@@ -1295,8 +1295,14 @@ static int bch2_fill_extent(struct bch_fs *c,
                                               flags|
                                               FIEMAP_EXTENT_DELALLOC|
                                               FIEMAP_EXTENT_UNWRITTEN);
+       } else if (k.k->type == KEY_TYPE_error) {
+               return 0;
        } else {
-               BUG();
+               WARN_ONCE(1, "unhandled key type %s",
+                         k.k->type < KEY_TYPE_MAX
+                         ? bch2_bkey_types[k.k->type]
+                         : "(unknown)");
+               return 0;
        }
 }
 
-- 
2.50.0


Reply via email to