bcachefs: Check for bad needs_discard before doing discard
authorKent Overstreet <kent.overstreet@linux.dev>
Tue, 2 Apr 2024 22:30:14 +0000 (18:30 -0400)
committerKent Overstreet <kent.overstreet@linux.dev>
Wed, 3 Apr 2024 00:24:00 +0000 (20:24 -0400)
commit7ee88737ab802ac832f978d6e6258571fe08d870
treecea43d70c963bf7c4bba92a6d9fdf764ae304f74
parente0319af2b6cdfa7c39edf73dcb813b7ff1261fa5
bcachefs: Check for bad needs_discard before doing discard

In the discard worker, we were failing to validate the bucket state -
meaning a corrupt needs_discard btree could cause us to discard a bucket
that we shouldn't.

If check_alloc_info hasn't run yet we just want to bail out, otherwise
it's a filesystem inconsistent error.

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
fs/bcachefs/alloc_background.c