summaryrefslogtreecommitdiffstats
path: root/fs/bcachefs/buckets.c
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@linux.dev>2025-04-26 12:39:17 -0400
committerKent Overstreet <kent.overstreet@linux.dev>2025-05-21 20:14:37 -0400
commit7677859a47a464f1c5603077809d4bc13f2d549f (patch)
tree707bc5c40744d83738cab21722456b95cb34734c /fs/bcachefs/buckets.c
parentbcachefs: provide unlocked version of run_explicit_recovery_pass_persistent (diff)
downloadlinux-7677859a47a464f1c5603077809d4bc13f2d549f.tar.gz
linux-7677859a47a464f1c5603077809d4bc13f2d549f.zip
bcachefs: Run most explicit recovery passes persistent
If we detect an error that requires running a recovery pass, and we're not in recovery, we won't be able to fix it until the next mount - make sure we're noting in the superblock that it needs to run. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'fs/bcachefs/buckets.c')
-rw-r--r--fs/bcachefs/buckets.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/bcachefs/buckets.c b/fs/bcachefs/buckets.c
index 3ec33a7e9d92..596edc7bba2f 100644
--- a/fs/bcachefs/buckets.c
+++ b/fs/bcachefs/buckets.c
@@ -399,7 +399,7 @@ static int bucket_ref_update_err(struct btree_trans *trans, struct printbuf *buf
bool print = __bch2_count_fsck_err(c, id, buf);
- int ret = bch2_run_explicit_recovery_pass_printbuf(c, buf,
+ int ret = bch2_run_explicit_recovery_pass_persistent(c, buf,
BCH_RECOVERY_PASS_check_allocations);
if (insert) {
@@ -972,7 +972,7 @@ static int __bch2_trans_mark_metadata_bucket(struct btree_trans *trans,
bool print = bch2_count_fsck_err(c, bucket_metadata_type_mismatch, &buf);
- bch2_run_explicit_recovery_pass_printbuf(c, &buf,
+ bch2_run_explicit_recovery_pass_persistent(c, &buf,
BCH_RECOVERY_PASS_check_allocations);
if (print)