bcachefs: Fix allocate -> self healing path
authorKent Overstreet <kent.overstreet@linux.dev>
Fri, 23 May 2025 22:30:10 +0000 (18:30 -0400)
committerKent Overstreet <kent.overstreet@linux.dev>
Fri, 23 May 2025 23:52:31 +0000 (19:52 -0400)
commitf351d91edd507391518a4f5870185fa5bf38446b
tree5c8396a9d86f619adbd92d23a20a49a02c848686
parent016c4b48b86d18b14f8a45beabefc5ccf7caf594
bcachefs: Fix allocate -> self healing path

When we go to allocate and find taht a bucket in the freespace btree is
actually allocated, we're supposed to return nonzero to tell the
allocator to skip it.

This fixes an emergency read only due to a bucket/ptr gen mismatch - we
also don't return the correct bucket gen when this happens.

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