diff options
author | Zdenek Kabelac <zkabelac@redhat.com> | 2012-01-19 15:34:32 +0000 |
---|---|---|
committer | Zdenek Kabelac <zkabelac@redhat.com> | 2012-01-19 15:34:32 +0000 |
commit | e58b5dd8e88ec6a58a7cec4d95eb0fe9b6c4c3f5 (patch) | |
tree | e52d5e1ee19e4def10fa4f9c0cc84d7ae29c813c /lib/metadata/lv.c | |
parent | 53d7985fa1476a7c0e430c01a6cb2cd679d4912e (diff) | |
download | lvm2-e58b5dd8e88ec6a58a7cec4d95eb0fe9b6c4c3f5.tar.gz lvm2-e58b5dd8e88ec6a58a7cec4d95eb0fe9b6c4c3f5.tar.xz lvm2-e58b5dd8e88ec6a58a7cec4d95eb0fe9b6c4c3f5.zip |
Thin add new display field for lvs
New field Data% is able to display info about
thin_pool, thin, snapshot and has generic meaning here.
Simple Time/Host field are here to display host and time creation.
Diffstat (limited to 'lib/metadata/lv.c')
-rw-r--r-- | lib/metadata/lv.c | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/lib/metadata/lv.c b/lib/metadata/lv.c index 84e47796..b2176f2a 100644 --- a/lib/metadata/lv.c +++ b/lib/metadata/lv.c @@ -1,6 +1,6 @@ /* * Copyright (C) 2001-2004 Sistina Software, Inc. All rights reserved. - * Copyright (C) 2004-2010 Red Hat, Inc. All rights reserved. + * Copyright (C) 2004-2012 Red Hat, Inc. All rights reserved. * * This file is part of LVM2. * @@ -129,8 +129,11 @@ uint64_t lvseg_chunksize(const struct lv_segment *seg) if (lv_is_cow(seg->lv)) size = (uint64_t) find_cow(seg->lv)->chunk_size; + else if (lv_is_thin_pool(seg->lv)) + size = (uint64_t) seg->data_block_size; else size = UINT64_C(0); + return size; } @@ -203,6 +206,18 @@ char *lv_pool_lv_dup(struct dm_pool *mem, const struct logical_volume *lv) return NULL; } +char *lv_data_lv_dup(struct dm_pool *mem, const struct logical_volume *lv) +{ + return lv_is_thin_pool(lv) ? + dm_pool_strdup(mem, seg_lv(first_seg(lv), 0)->name) : NULL; +} + +char *lv_metadata_lv_dup(struct dm_pool *mem, const struct logical_volume *lv) +{ + return lv_is_thin_pool(lv) ? + dm_pool_strdup(mem, first_seg(lv)->metadata_lv->name) : NULL; +} + int lv_kernel_minor(const struct logical_volume *lv) { struct lvinfo info; @@ -255,6 +270,11 @@ uint64_t lv_origin_size(const struct logical_volume *lv) return 0; } +uint64_t lv_metadata_size(const struct logical_volume *lv) +{ + return lv_is_thin_pool(lv) ? first_seg(lv)->metadata_lv->size : 0; +} + char *lv_path_dup(struct dm_pool *mem, const struct logical_volume *lv) { char *repstr; |