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