aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/fs/bcachefs/recovery.c
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@linux.dev>2024-12-10 14:19:30 -0500
committerKent Overstreet <kent.overstreet@linux.dev>2025-01-09 23:38:41 -0500
commit3db3084a86c3690e4b50b8579b0b1bbc29897375 (patch)
tree3778d1ebeb1893ffcf6406c10c77a8dcd61b6461 /fs/bcachefs/recovery.c
parentbcachefs: bcachefs_metadata_version_persistent_inode_cursors (diff)
downloadwireguard-linux-3db3084a86c3690e4b50b8579b0b1bbc29897375.tar.xz
wireguard-linux-3db3084a86c3690e4b50b8579b0b1bbc29897375.zip
bcachefs: bcachefs_metadata_version_autofix_errors
It's time to make self healing the default: change the error action for old filesystems to fix_safe, matching the default for current filesystems. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to '')
-rw-r--r--fs/bcachefs/recovery.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/fs/bcachefs/recovery.c b/fs/bcachefs/recovery.c
index 383e03606d6e..98825437381c 100644
--- a/fs/bcachefs/recovery.c
+++ b/fs/bcachefs/recovery.c
@@ -781,6 +781,11 @@ int bch2_fs_recovery(struct bch_fs *c)
c->opts.recovery_passes |= bch2_recovery_passes_from_stable(le64_to_cpu(ext->recovery_passes_required[0]));
+ if (c->sb.version_upgrade_complete < bcachefs_metadata_version_autofix_errors) {
+ SET_BCH_SB_ERROR_ACTION(c->disk_sb.sb, BCH_ON_ERROR_fix_safe);
+ write_sb = true;
+ }
+
if (write_sb)
bch2_write_super(c);
mutex_unlock(&c->sb_lock);