python-blivet/backport-Account-for-pmspare-grow-when-adjusting-thinpool-metadata.patch
yanan-rock 5242e76acf python-blivet:Account for pmspare grow when adjusting thinpool metadata
Signed-off-by: yanan-rock <yanan@huawei.com>
2021-04-18 03:08:03 -04:00

37 lines
1.6 KiB
Diff

From 0004c2b86f5587aa4d159b2f99c66d0eba141b4f Mon Sep 17 00:00:00 2001
From: Vojtech Trefny <vtrefny@redhat.com>
Date: Wed, 19 Aug 2020 13:08:00 +0200
Subject: [PATCH] Account for pmspare grow when adjusting thinpool metadata
size
When making space for the bigger metadata we also need to make
extra space for pmspare because its size depends on the metadata
size.
Resolves: rhbz#1868623
---
blivet/devices/lvm.py | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/blivet/devices/lvm.py b/blivet/devices/lvm.py
index 38d050321..b003b7b46 100644
--- a/blivet/devices/lvm.py
+++ b/blivet/devices/lvm.py
@@ -1631,6 +1631,7 @@ def autoset_md_size(self, enforced=False):
log.debug("Using default chunk size: %s", self._chunk_size)
old_md_size = self._metadata_size
+ old_pmspare_size = self.vg.pmspare_size
self._metadata_size = Size(blockdev.lvm.get_thpool_meta_size(self._size,
self._chunk_size,
100)) # snapshots
@@ -1642,7 +1643,7 @@ def autoset_md_size(self, enforced=False):
if self._metadata_size == old_md_size:
log.debug("Rounded metadata size unchanged")
else:
- new_size = self.size - (self._metadata_size - old_md_size)
+ new_size = self.size - (self._metadata_size - old_md_size) - (self.vg.pmspare_size - old_pmspare_size)
log.debug("Adjusting size from %s MiB to %s MiB",
self.size.convert_to("MiB"), new_size.convert_to("MiB"))
self.size = new_size