From e9ee2cb6b6cf20893ab753d7129f759ba8faa931 Mon Sep 17 00:00:00 2001 From: Zdenek Kabelac Date: Fri, 27 May 2016 13:48:30 +0200 Subject: [PATCH] report: fix report copy_percent value When mirror/raid called copy_percent function to return, when 100% was supposed to be returned, wrong float 100.0 value could have been reported back instead of dm_percent_t DM_PERCENT_100. There is broken API somewhere, since the function here rely on actively being modifid VG content even when doing 'lvs' operation. (extents_copies) --- WHATS_NEW | 1 + lib/metadata/lv_manip.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/WHATS_NEW b/WHATS_NEW index fa13ac886..2b6e0fb66 100644 --- a/WHATS_NEW +++ b/WHATS_NEW @@ -1,5 +1,6 @@ Version 2.02.155 - ================================ + Correcting value in copy_percent() for 100%. Update vgreduce to use process_each_vg. Update lvconvert to use process_each_lv. Update pvscan to use process_each_vg for autoactivation. diff --git a/lib/metadata/lv_manip.c b/lib/metadata/lv_manip.c index 6c2d4e5a9..b9419790c 100644 --- a/lib/metadata/lv_manip.c +++ b/lib/metadata/lv_manip.c @@ -872,7 +872,7 @@ dm_percent_t copy_percent(const struct logical_volume *lv) numerator += seg->area_len; } - return denominator ? dm_make_percent(numerator, denominator) : 100.0; + return denominator ? dm_make_percent(numerator, denominator) : DM_PERCENT_100; } /* Round up extents to next stripe boundary for number of stripes */