1 | /* SPDX-License-Identifier: GPL-2.0 */ |
2 | #ifndef _BCACHEFS_SUPER_TYPES_H |
3 | #define _BCACHEFS_SUPER_TYPES_H |
4 | |
5 | struct bch_sb_handle { |
6 | struct bch_sb *sb; |
7 | struct file *s_bdev_file; |
8 | struct block_device *bdev; |
9 | char *sb_name; |
10 | struct bio *bio; |
11 | void *holder; |
12 | size_t buffer_size; |
13 | blk_mode_t mode; |
14 | unsigned have_layout:1; |
15 | unsigned have_bio:1; |
16 | unsigned fs_sb:1; |
17 | u64 seq; |
18 | }; |
19 | |
20 | struct bch_devs_mask { |
21 | unsigned long d[BITS_TO_LONGS(BCH_SB_MEMBERS_MAX)]; |
22 | }; |
23 | |
24 | struct bch_devs_list { |
25 | u8 nr; |
26 | u8 data[BCH_BKEY_PTRS_MAX]; |
27 | }; |
28 | |
29 | struct bch_member_cpu { |
30 | u64 nbuckets; /* device size */ |
31 | u16 first_bucket; /* index of first bucket used */ |
32 | u16 bucket_size; /* sectors */ |
33 | u16 group; |
34 | u8 state; |
35 | u8 discard; |
36 | u8 data_allowed; |
37 | u8 durability; |
38 | u8 freespace_initialized; |
39 | u8 valid; |
40 | u8 btree_bitmap_shift; |
41 | u64 btree_allocated_bitmap; |
42 | }; |
43 | |
44 | #endif /* _BCACHEFS_SUPER_TYPES_H */ |
45 | |