18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 28c2ecf20Sopenharmony_ci 38c2ecf20Sopenharmony_ci#ifndef BTRFS_SYSFS_H 48c2ecf20Sopenharmony_ci#define BTRFS_SYSFS_H 58c2ecf20Sopenharmony_ci 68c2ecf20Sopenharmony_ci#include <linux/kobject.h> 78c2ecf20Sopenharmony_ci 88c2ecf20Sopenharmony_cienum btrfs_feature_set { 98c2ecf20Sopenharmony_ci FEAT_COMPAT, 108c2ecf20Sopenharmony_ci FEAT_COMPAT_RO, 118c2ecf20Sopenharmony_ci FEAT_INCOMPAT, 128c2ecf20Sopenharmony_ci FEAT_MAX 138c2ecf20Sopenharmony_ci}; 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_cichar *btrfs_printable_features(enum btrfs_feature_set set, u64 flags); 168c2ecf20Sopenharmony_ciconst char *btrfs_feature_set_name(enum btrfs_feature_set set); 178c2ecf20Sopenharmony_ciint btrfs_sysfs_add_device(struct btrfs_device *device); 188c2ecf20Sopenharmony_civoid btrfs_sysfs_remove_device(struct btrfs_device *device); 198c2ecf20Sopenharmony_ciint btrfs_sysfs_add_fsid(struct btrfs_fs_devices *fs_devs); 208c2ecf20Sopenharmony_civoid btrfs_sysfs_remove_fsid(struct btrfs_fs_devices *fs_devs); 218c2ecf20Sopenharmony_civoid btrfs_sysfs_update_sprout_fsid(struct btrfs_fs_devices *fs_devices); 228c2ecf20Sopenharmony_civoid btrfs_sysfs_feature_update(struct btrfs_fs_info *fs_info, 238c2ecf20Sopenharmony_ci u64 bit, enum btrfs_feature_set set); 248c2ecf20Sopenharmony_civoid btrfs_kobject_uevent(struct block_device *bdev, enum kobject_action action); 258c2ecf20Sopenharmony_ci 268c2ecf20Sopenharmony_ciint __init btrfs_init_sysfs(void); 278c2ecf20Sopenharmony_civoid __cold btrfs_exit_sysfs(void); 288c2ecf20Sopenharmony_ciint btrfs_sysfs_add_mounted(struct btrfs_fs_info *fs_info); 298c2ecf20Sopenharmony_civoid btrfs_sysfs_remove_mounted(struct btrfs_fs_info *fs_info); 308c2ecf20Sopenharmony_civoid btrfs_sysfs_add_block_group_type(struct btrfs_block_group *cache); 318c2ecf20Sopenharmony_ciint btrfs_sysfs_add_space_info_type(struct btrfs_fs_info *fs_info, 328c2ecf20Sopenharmony_ci struct btrfs_space_info *space_info); 338c2ecf20Sopenharmony_civoid btrfs_sysfs_remove_space_info(struct btrfs_space_info *space_info); 348c2ecf20Sopenharmony_civoid btrfs_sysfs_update_devid(struct btrfs_device *device); 358c2ecf20Sopenharmony_ci 368c2ecf20Sopenharmony_ciint btrfs_sysfs_add_one_qgroup(struct btrfs_fs_info *fs_info, 378c2ecf20Sopenharmony_ci struct btrfs_qgroup *qgroup); 388c2ecf20Sopenharmony_civoid btrfs_sysfs_del_qgroups(struct btrfs_fs_info *fs_info); 398c2ecf20Sopenharmony_ciint btrfs_sysfs_add_qgroups(struct btrfs_fs_info *fs_info); 408c2ecf20Sopenharmony_civoid btrfs_sysfs_del_one_qgroup(struct btrfs_fs_info *fs_info, 418c2ecf20Sopenharmony_ci struct btrfs_qgroup *qgroup); 428c2ecf20Sopenharmony_ci 438c2ecf20Sopenharmony_ci#endif 44