diff options
author | Dave Wysochanski <dwysocha@redhat.com> | 2010-10-12 16:11:34 +0000 |
---|---|---|
committer | Dave Wysochanski <dwysocha@redhat.com> | 2010-10-12 16:11:34 +0000 |
commit | 802e252b29ca8a40a0f161d5c316edcf9c35b152 (patch) | |
tree | 8d264fcf9e87cf7859ab7b968d53822dc415ad53 /lib/metadata/lv.c | |
parent | a88a27869810aee6c20f23b43e416cb44bb34d21 (diff) | |
download | lvm2-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.c | 22 |
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) { |