Commit 3db3084a authored by Kent Overstreet's avatar Kent Overstreet
Browse files

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: default avatarKent Overstreet <kent.overstreet@linux.dev>
parent df448ca3
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -684,7 +684,8 @@ struct bch_sb_field_ext {
	x(disk_accounting_big_endian,	BCH_VERSION(1, 15))		\
	x(reflink_p_may_update_opts,	BCH_VERSION(1, 16))		\
	x(inode_depth,			BCH_VERSION(1, 17))		\
	x(persistent_inode_cursors,	BCH_VERSION(1, 18))
	x(persistent_inode_cursors,	BCH_VERSION(1, 18))		\
	x(autofix_errors,		BCH_VERSION(1, 19))

enum bcachefs_metadata_version {
	bcachefs_metadata_version_min = 9,
+5 −0
Original line number Diff line number Diff line
@@ -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);