1 | /* SPDX-License-Identifier: GPL-2.0 */ |
---|---|
2 | |
3 | #ifndef BTRFS_SYSFS_H |
4 | #define BTRFS_SYSFS_H |
5 | |
6 | #include <linux/types.h> |
7 | #include <linux/compiler_types.h> |
8 | #include <linux/kobject.h> |
9 | |
10 | struct btrfs_fs_info; |
11 | struct btrfs_device; |
12 | struct btrfs_fs_devices; |
13 | struct btrfs_block_group; |
14 | struct btrfs_space_info; |
15 | struct btrfs_qgroup; |
16 | |
17 | enum btrfs_feature_set { |
18 | FEAT_COMPAT, |
19 | FEAT_COMPAT_RO, |
20 | FEAT_INCOMPAT, |
21 | FEAT_MAX |
22 | }; |
23 | |
24 | char *btrfs_printable_features(enum btrfs_feature_set set, u64 flags); |
25 | const char *btrfs_feature_set_name(enum btrfs_feature_set set); |
26 | int btrfs_sysfs_add_device(struct btrfs_device *device); |
27 | void btrfs_sysfs_remove_device(struct btrfs_device *device); |
28 | int btrfs_sysfs_add_fsid(struct btrfs_fs_devices *fs_devs); |
29 | void btrfs_sysfs_remove_fsid(struct btrfs_fs_devices *fs_devs); |
30 | void btrfs_sysfs_update_sprout_fsid(struct btrfs_fs_devices *fs_devices); |
31 | void btrfs_sysfs_feature_update(struct btrfs_fs_info *fs_info); |
32 | void btrfs_kobject_uevent(struct block_device *bdev, enum kobject_action action); |
33 | |
34 | int __init btrfs_init_sysfs(void); |
35 | void __cold btrfs_exit_sysfs(void); |
36 | int btrfs_sysfs_add_mounted(struct btrfs_fs_info *fs_info); |
37 | void btrfs_sysfs_remove_mounted(struct btrfs_fs_info *fs_info); |
38 | void btrfs_sysfs_add_block_group_type(struct btrfs_block_group *cache); |
39 | int btrfs_sysfs_add_space_info_type(struct btrfs_fs_info *fs_info, |
40 | struct btrfs_space_info *space_info); |
41 | void btrfs_sysfs_remove_space_info(struct btrfs_space_info *space_info); |
42 | void btrfs_sysfs_update_devid(struct btrfs_device *device); |
43 | |
44 | int btrfs_sysfs_add_one_qgroup(struct btrfs_fs_info *fs_info, |
45 | struct btrfs_qgroup *qgroup); |
46 | void btrfs_sysfs_del_qgroups(struct btrfs_fs_info *fs_info); |
47 | int btrfs_sysfs_add_qgroups(struct btrfs_fs_info *fs_info); |
48 | void btrfs_sysfs_del_one_qgroup(struct btrfs_fs_info *fs_info, |
49 | struct btrfs_qgroup *qgroup); |
50 | |
51 | #endif |
52 |