From: Kent Overstreet Date: Wed, 16 Apr 2025 13:28:10 +0000 (-0400) Subject: bcachefs: Don't emit bch_sb_field_members_v1 if not required X-Git-Tag: v6.16-rc1~211^2~111 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e3006cb010150cefde5739d2b8c2e8f7b876eb84;p=thirdparty%2Fkernel%2Fstable.git bcachefs: Don't emit bch_sb_field_members_v1 if not required In 'bcachefs_metadata_extent_flags', we stopped requireding members_v1 to be present - only that either v1 or v2 is present. Signed-off-by: Kent Overstreet --- diff --git a/fs/bcachefs/sb-members.c b/fs/bcachefs/sb-members.c index 9ab4d9a4b4217..f6a0b3de6bcab 100644 --- a/fs/bcachefs/sb-members.c +++ b/fs/bcachefs/sb-members.c @@ -139,6 +139,11 @@ int bch2_sb_members_cpy_v2_v1(struct bch_sb_handle *disk_sb) struct bch_sb_field_members_v1 *mi1; struct bch_sb_field_members_v2 *mi2; + if (BCH_SB_VERSION_INCOMPAT(disk_sb->sb) > bcachefs_metadata_version_extent_flags) { + bch2_sb_field_resize(disk_sb, members_v1, 0); + return 0; + } + mi1 = bch2_sb_field_resize(disk_sb, members_v1, DIV_ROUND_UP(sizeof(*mi1) + BCH_MEMBER_V1_BYTES * disk_sb->sb->nr_devices, sizeof(u64)));