Skip to content

Commit 74b3339

Browse files
koverstreetKent Overstreet
authored andcommitted
bcachefs: x-macro metadata version enum
Now we've got strings for metadata versions - this changes bch2_sb_to_text() and our mount log message to use it. Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
1 parent 3a306f3 commit 74b3339

File tree

7 files changed

+30
-20
lines changed

7 files changed

+30
-20
lines changed

fs/bcachefs/bcachefs_format.h

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1279,19 +1279,23 @@ struct bch_sb_field_journal_seq_blacklist {
12791279
#define BCH_JSET_VERSION_OLD 2
12801280
#define BCH_BSET_VERSION_OLD 3
12811281

1282+
#define BCH_METADATA_VERSIONS() \
1283+
x(bkey_renumber, 10) \
1284+
x(inode_btree_change, 11) \
1285+
x(snapshot, 12) \
1286+
x(inode_backpointers, 13) \
1287+
x(btree_ptr_sectors_written, 14) \
1288+
x(snapshot_2, 15) \
1289+
x(reflink_p_fix, 16) \
1290+
x(subvol_dirent, 17) \
1291+
x(inode_v2, 18)
1292+
12821293
enum bcachefs_metadata_version {
1283-
bcachefs_metadata_version_min = 9,
1284-
bcachefs_metadata_version_new_versioning = 10,
1285-
bcachefs_metadata_version_bkey_renumber = 10,
1286-
bcachefs_metadata_version_inode_btree_change = 11,
1287-
bcachefs_metadata_version_snapshot = 12,
1288-
bcachefs_metadata_version_inode_backpointers = 13,
1289-
bcachefs_metadata_version_btree_ptr_sectors_written = 14,
1290-
bcachefs_metadata_version_snapshot_2 = 15,
1291-
bcachefs_metadata_version_reflink_p_fix = 16,
1292-
bcachefs_metadata_version_subvol_dirent = 17,
1293-
bcachefs_metadata_version_inode_v2 = 18,
1294-
bcachefs_metadata_version_max = 19,
1294+
bcachefs_metadata_version_min = 9,
1295+
#define x(t, n) bcachefs_metadata_version_##t = n,
1296+
BCH_METADATA_VERSIONS()
1297+
#undef x
1298+
bcachefs_metadata_version_max
12951299
};
12961300

12971301
#define bcachefs_metadata_version_current (bcachefs_metadata_version_max - 1)

fs/bcachefs/btree_io.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1887,7 +1887,7 @@ void __bch2_btree_node_write(struct bch_fs *c, struct btree *b, unsigned flags)
18871887
BUG_ON(BSET_BIG_ENDIAN(i) != CPU_BIG_ENDIAN);
18881888
BUG_ON(i->seq != b->data->keys.seq);
18891889

1890-
i->version = c->sb.version < bcachefs_metadata_version_new_versioning
1890+
i->version = c->sb.version < bcachefs_metadata_version_bkey_renumber
18911891
? cpu_to_le16(BCH_BSET_VERSION_OLD)
18921892
: cpu_to_le16(c->sb.version);
18931893
SET_BSET_OFFSET(i, b->written);

fs/bcachefs/journal_io.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1574,7 +1574,7 @@ void bch2_journal_write(struct closure *cl)
15741574
BUG_ON(vstruct_sectors(jset, c->block_bits) > w->sectors);
15751575

15761576
jset->magic = cpu_to_le64(jset_magic(c));
1577-
jset->version = c->sb.version < bcachefs_metadata_version_new_versioning
1577+
jset->version = c->sb.version < bcachefs_metadata_version_bkey_renumber
15781578
? cpu_to_le32(BCH_JSET_VERSION_OLD)
15791579
: cpu_to_le32(c->sb.version);
15801580

fs/bcachefs/opts.c

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,12 @@
99
#include "super-io.h"
1010
#include "util.h"
1111

12-
#define x(t, n) #t,
12+
#define x(t, n) [n] = #t,
13+
14+
const char * const bch2_metadata_versions[] = {
15+
BCH_METADATA_VERSIONS()
16+
NULL
17+
};
1318

1419
const char * const bch2_error_actions[] = {
1520
BCH_ERROR_ACTIONS()

fs/bcachefs/opts.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
#include <linux/sysfs.h>
99
#include "bcachefs_format.h"
1010

11+
extern const char * const bch2_metadata_versions[];
1112
extern const char * const bch2_error_actions[];
1213
extern const char * const bch2_sb_features[];
1314
extern const char * const bch2_sb_compat[];

fs/bcachefs/super-io.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -263,7 +263,7 @@ static int bch2_sb_validate(struct bch_sb_handle *disk_sb, struct printbuf *out)
263263
int ret;
264264

265265
version = le16_to_cpu(sb->version);
266-
version_min = version >= bcachefs_metadata_version_new_versioning
266+
version_min = version >= bcachefs_metadata_version_bkey_renumber
267267
? le16_to_cpu(sb->version_min)
268268
: version;
269269

@@ -518,7 +518,7 @@ static int read_one_super(struct bch_sb_handle *sb, u64 offset, struct printbuf
518518
}
519519

520520
version = le16_to_cpu(sb->sb->version);
521-
version_min = version >= bcachefs_metadata_version_new_versioning
521+
version_min = version >= bcachefs_metadata_version_bkey_renumber
522522
? le16_to_cpu(sb->sb->version_min)
523523
: version;
524524

@@ -1552,12 +1552,12 @@ void bch2_sb_to_text(struct printbuf *out, struct bch_sb *sb,
15521552

15531553
pr_buf(out, "Version:");
15541554
pr_tab(out);
1555-
pr_buf(out, "%u", le16_to_cpu(sb->version));
1555+
pr_buf(out, "%s", bch2_metadata_versions[le16_to_cpu(sb->version)]);
15561556
pr_newline(out);
15571557

15581558
pr_buf(out, "Oldest version on disk:");
15591559
pr_tab(out);
1560-
pr_buf(out, "%u", le16_to_cpu(sb->version_min));
1560+
pr_buf(out, "%u", bch2_metadata_versions[le16_to_cpu(sb->version_min)]);
15611561
pr_newline(out);
15621562

15631563
pr_buf(out, "Created:");

fs/bcachefs/super.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -897,7 +897,7 @@ static void print_mount_opts(struct bch_fs *c)
897897
if (!p.pos)
898898
pr_buf(&p, "(null)");
899899

900-
bch_info(c, "mounted with opts: %s", p.buf);
900+
bch_info(c, "mounted version=%s opts=%s", bch2_metadata_versions[c->sb.version], p.buf);
901901
printbuf_exit(&p);
902902
}
903903

0 commit comments

Comments
 (0)