Commit f10152bc authored by David Sterba's avatar David Sterba

btrfs: sysfs: replace direct access to feature set names with a helper

In order to unexport the feature type array, add a helper for the
enum-to-string conversion.
Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
parent 27992d01
...@@ -5259,7 +5259,7 @@ static int check_feature_bits(struct btrfs_fs_info *fs_info, ...@@ -5259,7 +5259,7 @@ static int check_feature_bits(struct btrfs_fs_info *fs_info,
u64 change_mask, u64 flags, u64 supported_flags, u64 change_mask, u64 flags, u64 supported_flags,
u64 safe_set, u64 safe_clear) u64 safe_set, u64 safe_clear)
{ {
const char *type = btrfs_feature_set_names[set]; const char *type = btrfs_feature_set_name(set);
char *names; char *names;
u64 disallowed, unsupported; u64 disallowed, unsupported;
u64 set_mask = flags & change_mask; u64 set_mask = flags & change_mask;
......
...@@ -675,12 +675,17 @@ void btrfs_sysfs_remove_mounted(struct btrfs_fs_info *fs_info) ...@@ -675,12 +675,17 @@ void btrfs_sysfs_remove_mounted(struct btrfs_fs_info *fs_info)
btrfs_sysfs_rm_device_link(fs_info->fs_devices, NULL); btrfs_sysfs_rm_device_link(fs_info->fs_devices, NULL);
} }
const char * const btrfs_feature_set_names[FEAT_MAX] = { static const char * const btrfs_feature_set_names[FEAT_MAX] = {
[FEAT_COMPAT] = "compat", [FEAT_COMPAT] = "compat",
[FEAT_COMPAT_RO] = "compat_ro", [FEAT_COMPAT_RO] = "compat_ro",
[FEAT_INCOMPAT] = "incompat", [FEAT_INCOMPAT] = "incompat",
}; };
const char * const btrfs_feature_set_name(enum btrfs_feature_set set)
{
return btrfs_feature_set_names[set];
}
char *btrfs_printable_features(enum btrfs_feature_set set, u64 flags) char *btrfs_printable_features(enum btrfs_feature_set set, u64 flags)
{ {
size_t bufsize = 4096; /* safe max, 64 names * 64 bytes */ size_t bufsize = 4096; /* safe max, 64 names * 64 bytes */
......
...@@ -78,7 +78,7 @@ attr_to_btrfs_feature_attr(struct attribute *attr) ...@@ -78,7 +78,7 @@ attr_to_btrfs_feature_attr(struct attribute *attr)
} }
char *btrfs_printable_features(enum btrfs_feature_set set, u64 flags); char *btrfs_printable_features(enum btrfs_feature_set set, u64 flags);
extern const char * const btrfs_feature_set_names[FEAT_MAX]; const char * const btrfs_feature_set_name(enum btrfs_feature_set set);
int btrfs_sysfs_add_device_link(struct btrfs_fs_devices *fs_devices, int btrfs_sysfs_add_device_link(struct btrfs_fs_devices *fs_devices,
struct btrfs_device *one_device); struct btrfs_device *one_device);
int btrfs_sysfs_rm_device_link(struct btrfs_fs_devices *fs_devices, int btrfs_sysfs_rm_device_link(struct btrfs_fs_devices *fs_devices,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment