]> www.infradead.org Git - users/jedix/linux-maple.git/commit
bcachefs: Run recovery passes asynchronously
authorKent Overstreet <kent.overstreet@linux.dev>
Sat, 10 May 2025 03:28:01 +0000 (23:28 -0400)
committerKent Overstreet <kent.overstreet@linux.dev>
Thu, 22 May 2025 00:15:04 +0000 (20:15 -0400)
commit06977ea82b5df669c833399b4b8e2f163a8bcfbc
tree8d5f3398a0286bae20af1ecc3a82b9a17117a9ad
parentd4b30ed90c778bd5612fc82c2a5536de66d95184
bcachefs: Run recovery passes asynchronously

When we request a recovery pass to be run online, i.e. not during
recovery, if it's an online pass it'll now be run in the background,
instead of waiting for the next mount.

To avoid situations where recovery passes are running continuously, this
also includes ratelimiting: if the RUN_RECOVERY_PASS_ratelimit flag is
passed, the pass may be deferred until later - depending on the runtime
and last run stats in the recovery_passes superblock section.

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