diff options
author | Kent Overstreet <kent.overstreet@linux.dev> | 2023-10-07 17:23:13 -0400 |
---|---|---|
committer | Hunter Shaffer <huntershaffer182456@gmail.com> | 2023-10-08 21:06:07 -0400 |
commit | 1251ea58a84e365db3754e6f5f57bd442484dc89 (patch) | |
tree | 2f568a8130f83f7a9d05fa70a2466f89ac772a3d /libbcachefs/super-io.h | |
parent | 6b175a022496572416918bd38d083120c23ba5f2 (diff) |
Update bcachefs sources to 7bf1ac0d46 bcachefs: Correctly initialize new buckets on device resize
Signed-off-by: Hunter Shaffer <huntershaffer182456@gmail.com>
Diffstat (limited to 'libbcachefs/super-io.h')
-rw-r--r-- | libbcachefs/super-io.h | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/libbcachefs/super-io.h b/libbcachefs/super-io.h index d51c0a19..f7e90999 100644 --- a/libbcachefs/super-io.h +++ b/libbcachefs/super-io.h @@ -6,6 +6,7 @@ #include "eytzinger.h" #include "super_types.h" #include "super.h" +#include "sb-members.h" #include <asm/byteorder.h> @@ -89,7 +90,7 @@ static inline void bch2_check_set_feature(struct bch_fs *c, unsigned feat) __bch2_check_set_feature(c, feat); } -/* BCH_SB_FIELD_members: */ +/* BCH_SB_FIELD_members_v1: */ static inline bool bch2_member_exists(struct bch_member *m) { @@ -97,11 +98,13 @@ static inline bool bch2_member_exists(struct bch_member *m) } static inline bool bch2_dev_exists(struct bch_sb *sb, - struct bch_sb_field_members *mi, unsigned dev) { - return dev < sb->nr_devices && - bch2_member_exists(&mi->members[dev]); + if (dev < sb->nr_devices) { + struct bch_member m = bch2_sb_member_get(sb, dev); + return bch2_member_exists(&m); + } + return false; } static inline struct bch_member_cpu bch2_mi_to_cpu(struct bch_member *mi) |