summaryrefslogtreecommitdiff
path: root/fs
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@linux.dev>2025-05-10 17:19:05 -0400
committerKent Overstreet <kent.overstreet@linux.dev>2025-05-21 20:14:56 -0400
commit177ac4925f4cbcfb672cb46f1d443a3d6c8a4b11 (patch)
tree090542f9f80cd33fa659385e11501107d3586527 /fs
parent367cad09664aaf2d37e1b694eab6a14d0b5dedef (diff)
bcachefs: Don't rewind recovery if not in recovery
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'fs')
-rw-r--r--fs/bcachefs/recovery_passes.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/bcachefs/recovery_passes.c b/fs/bcachefs/recovery_passes.c
index 5f2bd8c10ce6..22cefffcf1fa 100644
--- a/fs/bcachefs/recovery_passes.c
+++ b/fs/bcachefs/recovery_passes.c
@@ -233,7 +233,8 @@ static int __bch2_run_explicit_recovery_pass(struct printbuf *out,
c->opts.recovery_passes |= BIT_ULL(pass);
- if (c->curr_recovery_pass > pass) {
+ if (test_bit(BCH_FS_in_recovery, &c->flags) &&
+ c->curr_recovery_pass > pass) {
c->next_recovery_pass = pass;
c->recovery_passes_complete &= (1ULL << pass) >> 1;
return -BCH_ERR_restart_recovery;