]> www.infradead.org Git - users/jedix/linux-maple.git/commit
bcachefs: __bch2_run_recovery_passes()
authorKent Overstreet <kent.overstreet@linux.dev>
Sat, 10 May 2025 21:45:45 +0000 (17:45 -0400)
committerKent Overstreet <kent.overstreet@linux.dev>
Thu, 22 May 2025 00:15:03 +0000 (20:15 -0400)
commitab355520305ce4ab7331757c35b1042b32cae52e
tree17d35b447cdafa365c7b5ce8c9637f9cb583aaff
parent68708efcac711946ffeb1803eb54ebaf44675010
bcachefs: __bch2_run_recovery_passes()

Consolidate bch2_run_recovery_passes() and
bch2_run_online_recovery_passes(), prep work for automatically
scheduling and running recovery passes in the background.

- Now takes a mask of which passes to run, automatic background repair
  will pass in sb.recovery_passes_required.

- Skips passes that are failing: a pass that failed may be reattempted
  after another pass succeeds (some passes depend on repair done by
  other passes for successful completion).

- bch2_recovery_passes_match() helper to skip alloc passes on a
  filesystem without alloc info.

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
fs/bcachefs/fsck.c
fs/bcachefs/recovery.c
fs/bcachefs/recovery_passes.c
fs/bcachefs/recovery_passes.h
fs/bcachefs/recovery_passes_types.h