diff options
Diffstat (limited to 'lib/metadata')
-rw-r--r-- | lib/metadata/lv.c | 6 | ||||
-rw-r--r-- | lib/metadata/lv.h | 1 | ||||
-rw-r--r-- | lib/metadata/vg.c | 6 | ||||
-rw-r--r-- | lib/metadata/vg.h | 1 |
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 |