summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZdenek Kabelac <zkabelac@redhat.com>2020-09-11 13:31:29 +0200
committerZdenek Kabelac <zkabelac@redhat.com>2020-09-11 13:37:04 +0200
commitb798554a20147535566576fce8d2c839a090cf84 (patch)
tree0249d52b0bb9ec7d8ad6afa6e9a57fa055a28517
parent3f2e9e35467a2a92837a9859b150cf091411583b (diff)
downloadlvm2-b798554a20147535566576fce8d2c839a090cf84.tar.gz
lv_manip: even better rounding
-rw-r--r--lib/metadata/lv_manip.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/metadata/lv_manip.c b/lib/metadata/lv_manip.c
index e2c0f957b..3c781dcf9 100644
--- a/lib/metadata/lv_manip.c
+++ b/lib/metadata/lv_manip.c
@@ -4940,7 +4940,8 @@ static uint32_t _adjust_amount(dm_percent_t percent, int policy_threshold, int p
* Keep using DM_PERCENT_1 units for better precision.
* Round-up to needed percentage value
*/
- percent = ((percent + policy_threshold - 1) / policy_threshold) / (DM_PERCENT_1 / 100) - 100;
+ policy_threshold *= (DM_PERCENT_1 / 100);
+ percent = (percent + policy_threshold - 1) / policy_threshold - 100;
/* Use it if current policy amount is smaller */
return (policy_amount < percent) ? (uint32_t) percent : (uint32_t) policy_amount;