diff options
| author | Kent Overstreet <kent.overstreet@linux.dev> | 2025-04-15 23:35:48 -0400 |
|---|---|---|
| committer | Kent Overstreet <kent.overstreet@linux.dev> | 2025-05-21 20:14:19 -0400 |
| commit | 1c8dfd7ba50dbbb72113caf4fa7868512cdad2f4 (patch) | |
| tree | 2b6fe6ac9464c481d5711ba61a24ae4053dccc62 /fs/bcachefs/super-io.c | |
| parent | bcachefs: Add a recovery pass for making sure root inode is readable (diff) | |
| download | linux-1c8dfd7ba50dbbb72113caf4fa7868512cdad2f4.tar.gz linux-1c8dfd7ba50dbbb72113caf4fa7868512cdad2f4.zip | |
bcachefs: sb_validate() no longer requires members_v1
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'fs/bcachefs/super-io.c')
| -rw-r--r-- | fs/bcachefs/super-io.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/fs/bcachefs/super-io.c b/fs/bcachefs/super-io.c index 8ebc5e3f3ea3..872707e5fa95 100644 --- a/fs/bcachefs/super-io.c +++ b/fs/bcachefs/super-io.c @@ -384,7 +384,6 @@ static int bch2_sb_compatible(struct bch_sb *sb, struct printbuf *out) int bch2_sb_validate(struct bch_sb *sb, u64 read_offset, enum bch_validate_flags flags, struct printbuf *out) { - struct bch_sb_field_members_v1 *mi; enum bch_opt_id opt_id; int ret; @@ -539,14 +538,17 @@ int bch2_sb_validate(struct bch_sb *sb, u64 read_offset, } } + struct bch_sb_field *mi = + bch2_sb_field_get_id(sb, BCH_SB_FIELD_members_v2) ?: + bch2_sb_field_get_id(sb, BCH_SB_FIELD_members_v1); + /* members must be validated first: */ - mi = bch2_sb_field_get(sb, members_v1); if (!mi) { prt_printf(out, "Invalid superblock: member info area missing"); return -BCH_ERR_invalid_sb_members_missing; } - ret = bch2_sb_field_validate(sb, &mi->field, flags, out); + ret = bch2_sb_field_validate(sb, mi, flags, out); if (ret) return ret; |
