summaryrefslogtreecommitdiff
path: root/libbcachefs/super-io.c
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@linux.dev>2023-12-30 16:04:21 -0500
committerKent Overstreet <kent.overstreet@linux.dev>2023-12-30 16:04:21 -0500
commit378ae738d5ea505c1751f23b4c56e03bb2422f33 (patch)
treef6661f7afe2e70703a224b29fcc9f5f2d56ab1fc /libbcachefs/super-io.c
parent44bf7868e5c2c4a52aef67e55aab1e904147dad4 (diff)
Update bcachefs sources to 5264e9f4d0c0 bcachefs: fix setting version_upgrade_complete
Diffstat (limited to 'libbcachefs/super-io.c')
-rw-r--r--libbcachefs/super-io.c24
1 files changed, 12 insertions, 12 deletions
diff --git a/libbcachefs/super-io.c b/libbcachefs/super-io.c
index 134f2c2f..c80a993e 100644
--- a/libbcachefs/super-io.c
+++ b/libbcachefs/super-io.c
@@ -907,18 +907,6 @@ int bch2_write_super(struct bch_fs *c)
c->disk_sb.sb->magic = BCHFS_MAGIC;
c->disk_sb.sb->layout.magic = BCHFS_MAGIC;
- if (le16_to_cpu(c->disk_sb.sb->version) > bcachefs_metadata_version_current) {
- struct printbuf buf = PRINTBUF;
- prt_printf(&buf, "attempting to write superblock that wasn't version downgraded (");
- bch2_version_to_text(&buf, le16_to_cpu(c->disk_sb.sb->version));
- prt_str(&buf, " > ");
- bch2_version_to_text(&buf, bcachefs_metadata_version_current);
- prt_str(&buf, ")");
- bch2_fs_fatal_error(c, "%s", buf.buf);
- printbuf_exit(&buf);
- return -BCH_ERR_sb_not_downgraded;
- }
-
le64_add_cpu(&c->disk_sb.sb->seq, 1);
struct bch_sb_field_members_v2 *mi = bch2_sb_field_get(c->disk_sb.sb, members_v2);
@@ -962,6 +950,18 @@ int bch2_write_super(struct bch_fs *c)
if (!BCH_SB_INITIALIZED(c->disk_sb.sb))
goto out;
+ if (le16_to_cpu(c->disk_sb.sb->version) > bcachefs_metadata_version_current) {
+ struct printbuf buf = PRINTBUF;
+ prt_printf(&buf, "attempting to write superblock that wasn't version downgraded (");
+ bch2_version_to_text(&buf, le16_to_cpu(c->disk_sb.sb->version));
+ prt_str(&buf, " > ");
+ bch2_version_to_text(&buf, bcachefs_metadata_version_current);
+ prt_str(&buf, ")");
+ bch2_fs_fatal_error(c, "%s", buf.buf);
+ printbuf_exit(&buf);
+ return -BCH_ERR_sb_not_downgraded;
+ }
+
for_each_online_member(c, ca) {
__set_bit(ca->dev_idx, sb_written.d);
ca->sb_write_error = 0;