aboutsummaryrefslogtreecommitdiff
path: root/lib/metadata
diff options
context:
space:
mode:
Diffstat (limited to 'lib/metadata')
-rw-r--r--lib/metadata/lv.c6
-rw-r--r--lib/metadata/lv.h1
-rw-r--r--lib/metadata/vg.c6
-rw-r--r--lib/metadata/vg.h1
4 files changed, 14 insertions, 0 deletions
diff --git a/lib/metadata/lv.c b/lib/metadata/lv.c
index 93ae92db3..475a514f2 100644
--- a/lib/metadata/lv.c
+++ b/lib/metadata/lv.c
@@ -785,6 +785,12 @@ char *lv_active_dup(struct dm_pool *mem, const struct logical_volume *lv)
return dm_pool_strdup(mem, s);
}
+char *lv_profile_dup(struct dm_pool *mem, const struct logical_volume *lv)
+{
+ const char *profile_name = lv->profile ? lv->profile->name : "";
+ return dm_pool_strdup(mem, profile_name);
+}
+
/* For given LV find recursively the LV which holds lock for it */
const struct logical_volume *lv_lock_holder(const struct logical_volume *lv)
{
diff --git a/lib/metadata/lv.h b/lib/metadata/lv.h
index 6831f67f5..06f8c6055 100644
--- a/lib/metadata/lv.h
+++ b/lib/metadata/lv.h
@@ -93,4 +93,5 @@ char *lv_active_dup(struct dm_pool *mem, const struct logical_volume *lv);
const struct logical_volume *lv_lock_holder(const struct logical_volume *lv);
struct logical_volume *lv_ondisk(struct logical_volume *lv);
struct profile *lv_config_profile(const struct logical_volume *lv);
+char *lv_profile_dup(struct dm_pool *mem, const struct logical_volume *lv);
#endif /* _LVM_LV_H */
diff --git a/lib/metadata/vg.c b/lib/metadata/vg.c
index 50e83285a..22099e26b 100644
--- a/lib/metadata/vg.c
+++ b/lib/metadata/vg.c
@@ -267,6 +267,12 @@ int vg_set_mda_copies(struct volume_group *vg, uint32_t mda_copies)
return 1;
}
+char *vg_profile_dup(const struct volume_group *vg)
+{
+ const char *profile_name = vg->profile ? vg->profile->name : "";
+ return dm_pool_strdup(vg->vgmem, profile_name);
+}
+
static int _recalc_extents(uint32_t *extents, const char *desc1,
const char *desc2, uint32_t old_size,
uint32_t new_size)
diff --git a/lib/metadata/vg.h b/lib/metadata/vg.h
index f33fe1182..8db04d335 100644
--- a/lib/metadata/vg.h
+++ b/lib/metadata/vg.h
@@ -155,6 +155,7 @@ uint32_t vg_mda_count(const struct volume_group *vg);
uint32_t vg_mda_used_count(const struct volume_group *vg);
uint32_t vg_mda_copies(const struct volume_group *vg);
int vg_set_mda_copies(struct volume_group *vg, uint32_t mda_copies);
+char *vg_profile_dup(const struct volume_group *vg);
/*
* Returns visible LV count - number of LVs from user perspective