diff options
author | Kent Overstreet <kent.overstreet@linux.dev> | 2023-12-30 16:04:21 -0500 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2023-12-30 16:04:21 -0500 |
commit | 378ae738d5ea505c1751f23b4c56e03bb2422f33 (patch) | |
tree | f6661f7afe2e70703a224b29fcc9f5f2d56ab1fc /libbcachefs/super-io.c | |
parent | 44bf7868e5c2c4a52aef67e55aab1e904147dad4 (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.c | 24 |
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; |