summaryrefslogtreecommitdiffstats
path: root/lib/metadata/lv.c
diff options
context:
space:
mode:
authorDave Wysochanski <dwysocha@redhat.com>2010-10-12 16:11:34 +0000
committerDave Wysochanski <dwysocha@redhat.com>2010-10-12 16:11:34 +0000
commit802e252b29ca8a40a0f161d5c316edcf9c35b152 (patch)
tree8d264fcf9e87cf7859ab7b968d53822dc415ad53 /lib/metadata/lv.c
parenta88a27869810aee6c20f23b43e416cb44bb34d21 (diff)
downloadlvm2-802e252b29ca8a40a0f161d5c316edcf9c35b152.tar.gz
lvm2-802e252b29ca8a40a0f161d5c316edcf9c35b152.tar.xz
lvm2-802e252b29ca8a40a0f161d5c316edcf9c35b152.zip
Refactor and add code for (lv) 'lv_path' get function.
Diffstat (limited to 'lib/metadata/lv.c')
-rw-r--r--lib/metadata/lv.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/lib/metadata/lv.c b/lib/metadata/lv.c
index add0a4d4..d63ce295 100644
--- a/lib/metadata/lv.c
+++ b/lib/metadata/lv.c
@@ -16,6 +16,28 @@
#include "lib.h"
#include "metadata.h"
#include "activate.h"
+#include "toolcontext.h"
+
+char *lv_path_dup(struct dm_pool *mem, const struct logical_volume *lv)
+{
+ char *repstr;
+ size_t len;
+
+ len = strlen(lv->vg->cmd->dev_dir) + strlen(lv->vg->name) +
+ strlen(lv->name) + 2;
+
+ if (!(repstr = dm_pool_zalloc(mem, len))) {
+ log_error("dm_pool_alloc failed");
+ return 0;
+ }
+
+ if (dm_snprintf(repstr, len, "%s%s/%s",
+ lv->vg->cmd->dev_dir, lv->vg->name, lv->name) < 0) {
+ log_error("lvpath snprintf failed");
+ return 0;
+ }
+ return repstr;
+}
char *lv_uuid_dup(const struct logical_volume *lv)
{