summaryrefslogtreecommitdiffstats
path: root/lib/metadata/lv.c
diff options
context:
space:
mode:
authorDave Wysochanski <dwysocha@redhat.com>2010-10-12 16:11:48 +0000
committerDave Wysochanski <dwysocha@redhat.com>2010-10-12 16:11:48 +0000
commit29636f38e3068852ef85fc838a95584c8441941c (patch)
treeacec3a262bcd6b4e2eb0dddcec39ef8d303d9fba /lib/metadata/lv.c
parent802e252b29ca8a40a0f161d5c316edcf9c35b152 (diff)
downloadlvm2-29636f38e3068852ef85fc838a95584c8441941c.tar.gz
lvm2-29636f38e3068852ef85fc838a95584c8441941c.tar.xz
lvm2-29636f38e3068852ef85fc838a95584c8441941c.zip
Refactor and add code for (lv) 'origin_size' get function.
Signed-off-by: Dave Wysochanski <dwysocha@redhat.com> Reviewed-By: Petr Rockai <prockai@redhat.com>
Diffstat (limited to 'lib/metadata/lv.c')
-rw-r--r--lib/metadata/lv.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/metadata/lv.c b/lib/metadata/lv.c
index d63ce295..48707ff8 100644
--- a/lib/metadata/lv.c
+++ b/lib/metadata/lv.c
@@ -18,6 +18,15 @@
#include "activate.h"
#include "toolcontext.h"
+uint64_t lv_origin_size(const struct logical_volume *lv)
+{
+ if (lv_is_cow(lv))
+ return (uint64_t) find_cow(lv)->len * lv->vg->extent_size;
+ if (lv_is_origin(lv))
+ return lv->size;
+ return 0;
+}
+
char *lv_path_dup(struct dm_pool *mem, const struct logical_volume *lv)
{
char *repstr;