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