xref: /linux/fs/bcachefs/disk_groups_format.h (revision c532de5a67a70f8533d495f8f2aaa9a0491c3ad0)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _BCACHEFS_DISK_GROUPS_FORMAT_H
3 #define _BCACHEFS_DISK_GROUPS_FORMAT_H
4 
5 #define BCH_SB_LABEL_SIZE		32
6 
7 struct bch_disk_group {
8 	__u8			label[BCH_SB_LABEL_SIZE];
9 	__le64			flags[2];
10 } __packed __aligned(8);
11 
12 LE64_BITMASK(BCH_GROUP_DELETED,		struct bch_disk_group, flags[0], 0,  1)
13 LE64_BITMASK(BCH_GROUP_DATA_ALLOWED,	struct bch_disk_group, flags[0], 1,  6)
14 LE64_BITMASK(BCH_GROUP_PARENT,		struct bch_disk_group, flags[0], 6, 24)
15 
16 struct bch_sb_field_disk_groups {
17 	struct bch_sb_field	field;
18 	struct bch_disk_group	entries[];
19 } __packed __aligned(8);
20 
21 #endif /* _BCACHEFS_DISK_GROUPS_FORMAT_H */
22