[lvm-devel] stable-2.02 - thin: compensate metadata size by extra percent
Zdenek Kabelac
zkabelac at sourceware.org
Fri Oct 16 19:11:12 UTC 2020
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=6b1f67da0699d408477b6cdd79cdd34f8b4b98cd
Commit: 6b1f67da0699d408477b6cdd79cdd34f8b4b98cd
Parent: e5066339a5c61c5d5e8cd365071526cdd07ec04c
Author: Zdenek Kabelac <zkabelac at redhat.com>
AuthorDate: Fri Sep 11 13:31:55 2020 +0200
Committer: Zdenek Kabelac <zkabelac at redhat.com>
CommitterDate: Fri Oct 16 17:07:58 2020 +0200
thin: compensate metadata size by extra percent
When using --use-policy for automatic extension of thin-pool,
the extension of thin-pool's metadata itself can actually take
some extra space.
Since I'm not aware of exact compensation formula, add just
1% extra to calculated amount and hope it fits.
Wanted target is to always have usable thin-pool that fits
bellow pool_metadata_min_threshold().
---
WHATS_NEW | 1 +
lib/metadata/lv_manip.c | 4 +++-
2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/WHATS_NEW b/WHATS_NEW
index 86c0274b3..c902ccde5 100644
--- a/WHATS_NEW
+++ b/WHATS_NEW
@@ -1,5 +1,6 @@
Version 2.02.188 -
==================================
+ Use extra 1% when resizing thin-pool metadata LV with --use-policy.
Enhance --use-policy percentage rounding.
Switch code base to use flexible array syntax.
Preserve uint32_t for seqno handling.
diff --git a/lib/metadata/lv_manip.c b/lib/metadata/lv_manip.c
index affce9433..74b2afa96 100644
--- a/lib/metadata/lv_manip.c
+++ b/lib/metadata/lv_manip.c
@@ -4724,7 +4724,9 @@ static int _lvresize_adjust_policy(const struct logical_volume *lv,
min_threshold = pool_metadata_min_threshold(first_seg(lv)) / DM_PERCENT_1;
*meta_amount = _adjust_amount(percent, (min_threshold < policy_threshold) ?
min_threshold : policy_threshold, policy_amount);
-
+ if (*meta_amount)
+ /* Compensate possible extra space consumption by kernel on resize */
+ (*meta_amount)++;
if (!lv_thin_pool_percent(lv, 0, &percent))
return_0;
} else {
More information about the lvm-devel
mailing list