diff options
author | Kent Overstreet <kent.overstreet@linux.dev> | 2024-05-28 17:13:52 -0400 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2024-05-28 17:32:03 -0400 |
commit | 24998050b69ac1f4caa41b66dbd245f4de366b3c (patch) | |
tree | f62ebf85e7e5baf491e61a1924ec730dd4936574 /fs/bcachefs/replicas_format.h | |
parent | 1cdcc6e3c2cb69a235bd32eb0da51205e432f77f (diff) | |
download | lwn-24998050b69ac1f4caa41b66dbd245f4de366b3c.tar.gz lwn-24998050b69ac1f4caa41b66dbd245f4de366b3c.zip |
bcachefs: Split out replicas_format.h
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'fs/bcachefs/replicas_format.h')
-rw-r--r-- | fs/bcachefs/replicas_format.h | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/fs/bcachefs/replicas_format.h b/fs/bcachefs/replicas_format.h new file mode 100644 index 000000000000..b97208195d06 --- /dev/null +++ b/fs/bcachefs/replicas_format.h @@ -0,0 +1,31 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#ifndef _BCACHEFS_REPLICAS_FORMAT_H +#define _BCACHEFS_REPLICAS_FORMAT_H + +struct bch_replicas_entry_v0 { + __u8 data_type; + __u8 nr_devs; + __u8 devs[]; +} __packed; + +struct bch_sb_field_replicas_v0 { + struct bch_sb_field field; + struct bch_replicas_entry_v0 entries[]; +} __packed __aligned(8); + +struct bch_replicas_entry_v1 { + __u8 data_type; + __u8 nr_devs; + __u8 nr_required; + __u8 devs[]; +} __packed; + +struct bch_sb_field_replicas { + struct bch_sb_field field; + struct bch_replicas_entry_v1 entries[]; +} __packed __aligned(8); + +#define replicas_entry_bytes(_i) \ + (offsetof(typeof(*(_i)), devs) + (_i)->nr_devs) + +#endif /* _BCACHEFS_REPLICAS_FORMAT_H */ |