diff --git a/qubes/storage/__init__.py b/qubes/storage/__init__.py index 0be4171e..1551d7a1 100644 --- a/qubes/storage/__init__.py +++ b/qubes/storage/__init__.py @@ -137,6 +137,12 @@ class Volume(object): def size(self): return self._size + @size.setter + def size(self, size): + # pylint: disable=attribute-defined-outside-init + self._size = int(size) + + @property def config(self): ''' return config data for serialization to qubes.xml ''' diff --git a/qubes/storage/lvm.py b/qubes/storage/lvm.py index 6dc6063e..3ccd2688 100644 --- a/qubes/storage/lvm.py +++ b/qubes/storage/lvm.py @@ -404,6 +404,12 @@ class ThinVolume(qubes.storage.Volume): except KeyError: return self._size + @size.setter + def size(self, _): + raise qubes.storage.StoragePoolException( + "You shouldn't use lvm size setter") + + @property def usage(self): # lvm thin usage always returns at least the same usage as # the parent @@ -438,4 +444,4 @@ def qubes_lvm(cmd, log=logging.getLogger('qube.storage.lvm')): def reset_cache(): - qubes.storage.lvm.size_cache = init_cache + qubes.storage.lvm.size_cache = init_cache()