diff options
author | Hunter Shaffer <huntershaffer182456@gmail.com> | 2023-09-24 23:55:37 -0400 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2023-10-22 17:10:15 -0400 |
commit | 1241df5872b439ff1e5a8c70e0ce82345264904f (patch) | |
tree | 6830d32daf5e3481d399b52a1224a5093e914186 /fs/bcachefs/sb-members.c | |
parent | 73bbeaa2de1d429590a1b5ddd706dfeaf6d7d0e1 (diff) | |
download | linux-stable-1241df5872b439ff1e5a8c70e0ce82345264904f.tar.gz linux-stable-1241df5872b439ff1e5a8c70e0ce82345264904f.tar.bz2 linux-stable-1241df5872b439ff1e5a8c70e0ce82345264904f.zip |
bcachefs: Add new helper to retrieve bch_member from sb
Prep work for introducing bch_sb_field_members_v2 - introduce new
helpers that will check for members_v2 if it exists, otherwise using v1
Signed-off-by: Hunter Shaffer <huntershaffer182456@gmail.com>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'fs/bcachefs/sb-members.c')
-rw-r--r-- | fs/bcachefs/sb-members.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/fs/bcachefs/sb-members.c b/fs/bcachefs/sb-members.c index 16a2b3389525..0be51d082043 100644 --- a/fs/bcachefs/sb-members.c +++ b/fs/bcachefs/sb-members.c @@ -7,6 +7,23 @@ #include "super-io.h" /* Code for bch_sb_field_members: */ +static struct bch_member *members_v1_get_mut(struct bch_sb_field_members *mi, int i) +{ + return mi->members + i; +} + +static struct bch_member members_v1_get(struct bch_sb_field_members *mi, int i) +{ + struct bch_member ret, *p = members_v1_get_mut(mi, i); + memset(&ret, 0, sizeof(ret)); + memcpy(&ret, p, min_t(size_t, sizeof(struct bch_member), sizeof(ret))); return ret; +} + +struct bch_member bch2_sb_member_get(struct bch_sb *sb, int i) +{ + struct bch_sb_field_members *mi1 = bch2_sb_get_members(sb); + return members_v1_get(mi1, i); +} static int bch2_sb_members_validate(struct bch_sb *sb, struct bch_sb_field *f, |