btrfs: Add sysfs support for metadata_uuid feature
Since the metadata_uuid is a new incompat feature it requires the respective sysfs hooks. This patch adds the 'metdata_uuid' feature to be shown if it supported by the kernel. Additionally it adds /sys/fs/btrfs/UUID/metadata_uuid attribute which allows one to read the current metadata_uuid. Signed-off-by: Nikolay Borisov <nborisov@suse.com> Reviewed-by: David Sterba <dsterba@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
7239ff4b2b
commit
56f20f4009
|
@ -191,6 +191,7 @@ BTRFS_FEAT_ATTR_INCOMPAT(extended_iref, EXTENDED_IREF);
|
|||
BTRFS_FEAT_ATTR_INCOMPAT(raid56, RAID56);
|
||||
BTRFS_FEAT_ATTR_INCOMPAT(skinny_metadata, SKINNY_METADATA);
|
||||
BTRFS_FEAT_ATTR_INCOMPAT(no_holes, NO_HOLES);
|
||||
BTRFS_FEAT_ATTR_INCOMPAT(metadata_uuid, METADATA_UUID);
|
||||
BTRFS_FEAT_ATTR_COMPAT_RO(free_space_tree, FREE_SPACE_TREE);
|
||||
|
||||
static struct attribute *btrfs_supported_feature_attrs[] = {
|
||||
|
@ -204,6 +205,7 @@ static struct attribute *btrfs_supported_feature_attrs[] = {
|
|||
BTRFS_FEAT_ATTR_PTR(raid56),
|
||||
BTRFS_FEAT_ATTR_PTR(skinny_metadata),
|
||||
BTRFS_FEAT_ATTR_PTR(no_holes),
|
||||
BTRFS_FEAT_ATTR_PTR(metadata_uuid),
|
||||
BTRFS_FEAT_ATTR_PTR(free_space_tree),
|
||||
NULL
|
||||
};
|
||||
|
@ -505,12 +507,24 @@ static ssize_t quota_override_store(struct kobject *kobj,
|
|||
|
||||
BTRFS_ATTR_RW(, quota_override, quota_override_show, quota_override_store);
|
||||
|
||||
static ssize_t btrfs_metadata_uuid_show(struct kobject *kobj,
|
||||
struct kobj_attribute *a, char *buf)
|
||||
{
|
||||
struct btrfs_fs_info *fs_info = to_fs_info(kobj);
|
||||
|
||||
return snprintf(buf, PAGE_SIZE, "%pU\n",
|
||||
fs_info->fs_devices->metadata_uuid);
|
||||
}
|
||||
|
||||
BTRFS_ATTR(, metadata_uuid, btrfs_metadata_uuid_show);
|
||||
|
||||
static const struct attribute *btrfs_attrs[] = {
|
||||
BTRFS_ATTR_PTR(, label),
|
||||
BTRFS_ATTR_PTR(, nodesize),
|
||||
BTRFS_ATTR_PTR(, sectorsize),
|
||||
BTRFS_ATTR_PTR(, clone_alignment),
|
||||
BTRFS_ATTR_PTR(, quota_override),
|
||||
BTRFS_ATTR_PTR(, metadata_uuid),
|
||||
NULL,
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in New Issue