From 0004c2b86f5587aa4d159b2f99c66d0eba141b4f Mon Sep 17 00:00:00 2001 From: Vojtech Trefny 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