]> git.sesse.net Git - bcachefs-tools-debian/blobdiff - libbcachefs/recovery.c
Update bcachefs sources to b1899a0bd9 bcachefs: Move bch2_evict_subvolume_inodes...
[bcachefs-tools-debian] / libbcachefs / recovery.c
index 6bf9c48a787169ab6822d2e8c52d6085b6a75120..da9c3ea528e76d00eaad3d6acb3eaa737193bcb9 100644 (file)
@@ -1081,15 +1081,17 @@ int bch2_fs_recovery(struct bch_fs *c)
                set_bit(BCH_FS_REBUILD_REPLICAS, &c->flags);
        }
 
-       if (c->sb.version < bcachefs_metadata_version_inode_backpointers) {
-               bch_info(c, "version prior to inode backpointers, upgrade and fsck required");
-               c->opts.version_upgrade = true;
-               c->opts.fsck            = true;
-               c->opts.fix_errors      = FSCK_OPT_YES;
-       } else if (c->sb.version < bcachefs_metadata_version_subvol_dirent) {
-               bch_info(c, "filesystem version is prior to subvol_dirent - upgrading");
-               c->opts.version_upgrade = true;
-               c->opts.fsck            = true;
+       if (!c->opts.nochanges) {
+               if (c->sb.version < bcachefs_metadata_version_inode_backpointers) {
+                       bch_info(c, "version prior to inode backpointers, upgrade and fsck required");
+                       c->opts.version_upgrade = true;
+                       c->opts.fsck            = true;
+                       c->opts.fix_errors      = FSCK_OPT_YES;
+               } else if (c->sb.version < bcachefs_metadata_version_subvol_dirent) {
+                       bch_info(c, "filesystem version is prior to subvol_dirent - upgrading");
+                       c->opts.version_upgrade = true;
+                       c->opts.fsck            = true;
+               }
        }
 
        ret = bch2_blacklist_table_initialize(c);