From 802e252b29ca8a40a0f161d5c316edcf9c35b152 Mon Sep 17 00:00:00 2001 From: Dave Wysochanski Date: Tue, 12 Oct 2010 16:11:34 +0000 Subject: Refactor and add code for (lv) 'lv_path' get function. --- lib/metadata/lv.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'lib/metadata/lv.c') 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) { -- cgit