Commit 62606398 authored by Kent Overstreet's avatar Kent Overstreet
Browse files

bcachefs: Run upgrade/downgrade even in -o nochanges mode



We need to be able to test these paths in dry run mode.

Signed-off-by: default avatarKent Overstreet <kent.overstreet@linux.dev>
parent 6d828691
Loading
Loading
Loading
Loading
+41 −43
Original line number Diff line number Diff line
@@ -597,7 +597,6 @@ int bch2_fs_recovery(struct bch_fs *c)
	if (c->opts.norecovery)
		c->opts.recovery_pass_last = BCH_RECOVERY_PASS_journal_replay - 1;

	if (!c->opts.nochanges) {
	mutex_lock(&c->sb_lock);
	struct bch_sb_field_ext *ext = bch2_sb_field_get(c->disk_sb.sb, ext);
	bool write_sb = false;
@@ -646,7 +645,6 @@ int bch2_fs_recovery(struct bch_fs *c)

	c->recovery_passes_explicit |= bch2_recovery_passes_from_stable(le64_to_cpu(ext->recovery_passes_required[0]));
	mutex_unlock(&c->sb_lock);
	}

	if (c->opts.fsck && IS_ENABLED(CONFIG_BCACHEFS_DEBUG))
		c->recovery_passes_explicit |= BIT_ULL(BCH_RECOVERY_PASS_check_topology);
@@ -832,8 +830,8 @@ int bch2_fs_recovery(struct bch_fs *c)
	}

	mutex_lock(&c->sb_lock);
	struct bch_sb_field_ext *ext = bch2_sb_field_get(c->disk_sb.sb, ext);
	bool write_sb = false;
	ext = bch2_sb_field_get(c->disk_sb.sb, ext);
	write_sb = false;

	if (BCH_SB_VERSION_UPGRADE_COMPLETE(c->disk_sb.sb) != le16_to_cpu(c->disk_sb.sb->version)) {
		SET_BCH_SB_VERSION_UPGRADE_COMPLETE(c->disk_sb.sb, le16_to_cpu(c->disk_sb.sb->version));