]> git.sesse.net Git - bcachefs-tools-debian/blob - libbcachefs/super_types.h
Update bcachefs sources to e99d29e402 bcachefs: zstd support, compression refactoring
[bcachefs-tools-debian] / libbcachefs / super_types.h
1 #ifndef _BCACHEFS_SUPER_TYPES_H
2 #define _BCACHEFS_SUPER_TYPES_H
3
4 struct bch_sb_handle {
5         struct bch_sb           *sb;
6         struct block_device     *bdev;
7         struct bio              *bio;
8         unsigned                page_order;
9         fmode_t                 mode;
10 };
11
12 struct bch_devs_mask {
13         unsigned long d[BITS_TO_LONGS(BCH_SB_MEMBERS_MAX)];
14 };
15
16 struct bch_devs_list {
17         u8                      nr;
18         u8                      devs[BCH_REPLICAS_MAX + 1];
19 };
20
21 struct bch_member_cpu {
22         u64                     nbuckets;       /* device size */
23         u16                     first_bucket;   /* index of first bucket used */
24         u16                     bucket_size;    /* sectors */
25         u16                     group;
26         u8                      state;
27         u8                      tier;
28         u8                      replacement;
29         u8                      discard;
30         u8                      data_allowed;
31         u8                      valid;
32 };
33
34 struct bch_replicas_cpu_entry {
35         u8                      data_type;
36         u8                      devs[BCH_SB_MEMBERS_MAX / 8];
37 };
38
39 struct bch_replicas_cpu {
40         struct rcu_head         rcu;
41         unsigned                nr;
42         unsigned                entry_size;
43         struct bch_replicas_cpu_entry entries[];
44 };
45
46 struct bch_disk_group_cpu {
47         struct bch_devs_mask            devs;
48         bool                            deleted;
49 };
50
51 struct bch_disk_groups_cpu {
52         struct rcu_head                 rcu;
53         unsigned                        nr;
54         struct bch_disk_group_cpu       entries[];
55 };
56
57 #endif /* _BCACHEFS_SUPER_TYPES_H */