[lvm-devel] master - cache: restore reported origin field
Zdenek Kabelac
zkabelac at fedoraproject.org
Tue Sep 20 12:34:29 UTC 2016
Gitweb: http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=67d4b3b7f2be1e15af2d05faa97e8b56ddc9d668
Commit: 67d4b3b7f2be1e15af2d05faa97e8b56ddc9d668
Parent: 414d39085c3f248601bec4cea6ce508acfa59283
Author: Zdenek Kabelac <zkabelac at redhat.com>
AuthorDate: Tue Sep 20 14:26:11 2016 +0200
Committer: Zdenek Kabelac <zkabelac at redhat.com>
CommitterDate: Tue Sep 20 14:26:11 2016 +0200
cache: restore reported origin field
Commit 199697accff0658a11420e263c1f85fb74cd39d3 rerouted funtion
for priting cache volume origin to lvm2app app function - which
however had a bug. So restore the original functionality
and print correct LV as cache origin LV.
---
WHATS_NEW | 1 +
lib/metadata/lv.c | 4 ++--
test/shell/lvcreate-cache.sh | 1 +
3 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/WHATS_NEW b/WHATS_NEW
index 924d7c5..faddb9f 100644
--- a/WHATS_NEW
+++ b/WHATS_NEW
@@ -1,5 +1,6 @@
Version 2.02.166 -
=====================================
+ Fix reported origin lv field for cache volumes. (2.02.133)
Always specify snapshot cow LV for monitoring not internal LV. (2.02.165)
Fix lvchange --discard|--zero for active thin-pool.
Enforce 4MiB or 25% metadata free space for thin pool operations.
diff --git a/lib/metadata/lv.c b/lib/metadata/lv.c
index 188a255..53a1044 100644
--- a/lib/metadata/lv.c
+++ b/lib/metadata/lv.c
@@ -537,8 +537,8 @@ struct logical_volume *lv_origin_lv(const struct logical_volume *lv)
if (lv_is_cow(lv))
origin = origin_from_cow(lv);
- else if (lv_is_cache(lv) && first_seg(lv)->origin)
- origin = first_seg(lv)->origin;
+ else if (lv_is_cache(lv) && !lv_is_pending_delete(lv))
+ origin = seg_lv(first_seg(lv), 0);
else if (lv_is_thin_volume(lv) && first_seg(lv)->origin)
origin = first_seg(lv)->origin;
else if (lv_is_thin_volume(lv) && first_seg(lv)->external_lv)
diff --git a/test/shell/lvcreate-cache.sh b/test/shell/lvcreate-cache.sh
index bed3ec2..c38549f 100644
--- a/test/shell/lvcreate-cache.sh
+++ b/test/shell/lvcreate-cache.sh
@@ -85,6 +85,7 @@ lvremove -f $vg
lvcreate --type cache-pool -L1 $vg/cpool
lvcreate -H -L4 -n $lv1 $vg/cpool
+check lv_field $vg/$lv1 origin "[${lv1}_corig]"
check lv_field $vg/$lv1 copy_percent "0.00"
# there should be something present (value differs per policy version)
test -n "$(get lv_field $vg/$lv1 data_percent)"
More information about the lvm-devel
mailing list