xref: /linux/fs/bcachefs/super_types.h (revision 4a4b30ea80d8cb5e8c4c62bb86201f4ea0d9b030)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _BCACHEFS_SUPER_TYPES_H
3 #define _BCACHEFS_SUPER_TYPES_H
4 
5 struct bch_fs;
6 
7 struct bch_sb_handle_holder {
8 	struct bch_fs		*c;
9 };
10 
11 struct bch_sb_handle {
12 	struct bch_sb		*sb;
13 	struct file		*s_bdev_file;
14 	struct block_device	*bdev;
15 	char			*sb_name;
16 	struct bio		*bio;
17 	struct bch_sb_handle_holder *holder;
18 	size_t			buffer_size;
19 	blk_mode_t		mode;
20 	unsigned		have_layout:1;
21 	unsigned		have_bio:1;
22 	unsigned		fs_sb:1;
23 	u64			seq;
24 };
25 
26 struct bch_devs_mask {
27 	unsigned long d[BITS_TO_LONGS(BCH_SB_MEMBERS_MAX)];
28 };
29 
30 struct bch_devs_list {
31 	u8			nr;
32 	u8			data[BCH_BKEY_PTRS_MAX];
33 };
34 
35 #endif /* _BCACHEFS_SUPER_TYPES_H */
36