]> www.infradead.org Git - users/jedix/linux-maple.git/commit
bcachefs: bch2_check_bucket_backpointer_mismatch()
authorKent Overstreet <kent.overstreet@linux.dev>
Fri, 9 May 2025 21:01:05 +0000 (17:01 -0400)
committerKent Overstreet <kent.overstreet@linux.dev>
Thu, 22 May 2025 00:15:04 +0000 (20:15 -0400)
commit39cea302f13a0a9dc4cf39248529a42e79d06842
tree8b4746647732b5e7bcd49d669207a48cd9b43f9e
parent15f969326ee296f7b7faf7704105a99fa02c288d
bcachefs: bch2_check_bucket_backpointer_mismatch()

Detect buckets with missing backpointers, and run repair on demand.

__bch2_move_data_phys() now calls
bch2_check_bucket_backpointer_mismatch() as it walks buckets, which
checks for missing backpointers by comparing backpointers against bucket
sector counts.

When missing backpointers are detected, we kick off
bch2_check_extents_to_backpointers() asynchronously - right away if
we're trying to evacuate, or with a threshold if we're just running
copygc.

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