[PATCH 2/5] Make minSize, maxSize consistent and correct.
David Lehman
dlehman at redhat.com
Thu Mar 20 17:06:37 UTC 2014
StorageDevice defaults should be dependent on whether the device is
resizable -- not whether or not the format has known size limits.
Any minSize or maxSize may be zero, meaning there is no known limit.
---
blivet/devices.py | 22 ++++++++++++----------
1 file changed, 12 insertions(+), 10 deletions(-)
diff --git a/blivet/devices.py b/blivet/devices.py
index 47ad3b3..750ce8a 100644
--- a/blivet/devices.py
+++ b/blivet/devices.py
@@ -850,18 +850,12 @@ class StorageDevice(Device):
@property
def minSize(self):
""" The minimum size this device can be. """
- if self.format.minSize:
- return self.format.minSize
- else:
- return self.size
+ return self.format.minSize if self.resizable else self.currentSize
@property
def maxSize(self):
""" The maximum size this device can be. """
- if self.format.maxSize > self.currentSize:
- return self.currentSize
- else:
- return self.format.maxSize
+ return self.format.maxSize if self.resizable else self.currentSize
@property
def status(self):
@@ -1715,7 +1709,11 @@ class PartitionDevice(StorageDevice):
if partition.type == parted.PARTITION_FREESPACE:
maxPartSize = self.size + Size(bytes=partition.getLength(unit="B"))
- return min(self.format.maxSize, maxPartSize)
+ limits = [maxPartSize]
+ if self.format.maxSize > 0:
+ limits.append(self.format.maxSize)
+
+ return min(limits)
@property
def currentSize(self):
@@ -2641,7 +2639,11 @@ class LVMLogicalVolumeDevice(DMDevice):
@property
def maxSize(self):
""" The maximum size this lv can be. """
- return min(self.format.maxSize, self.size + self.vg.freeSpace)
+ limits = [self.size + self.vg.freeSpace]
+ if self.format.maxSize > 0:
+ limits.append(self.format.maxSize)
+
+ return min(limits)
@property
def vgSpaceUsed(self):
--
1.8.5.3
More information about the anaconda-patches
mailing list