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