[PATCH 12/16] Make sure partition base sizes are adequate for their formatting.
David Lehman
dlehman at redhat.com
Thu Oct 11 23:46:02 UTC 2012
There is no guarantee of growth, so be sure to start with a size
that can hold the specified formatting.
---
pyanaconda/storage/__init__.py | 9 ++++++---
1 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/pyanaconda/storage/__init__.py b/pyanaconda/storage/__init__.py
index 6f60ec4..6f1ca3b 100644
--- a/pyanaconda/storage/__init__.py
+++ b/pyanaconda/storage/__init__.py
@@ -1851,6 +1851,7 @@ class Storage(object):
device_space = factory.device_size
log.debug("device requires %d" % device_space)
container_size += device_space
+ base_size = max(1, getFormat(factory.member_format).minSize)
# XXX TODO: multiple member devices per disk
@@ -1859,7 +1860,7 @@ class Storage(object):
if isinstance(member, LUKSDevice):
member = member.slave
- member.req_base_size = 1
+ member.req_base_size = base_size
member.req_size = member.req_base_size
member.req_grow = True
@@ -1873,7 +1874,8 @@ class Storage(object):
member_format = factory.member_format
try:
- member = self.newPartition(parents=[disk], grow=True, size=1,
+ member = self.newPartition(parents=[disk], grow=True,
+ size=base_size,
fmt_type=member_format)
except StorageError as e:
log.error("failed to create new member partition: %s" % e)
@@ -3226,7 +3228,8 @@ class PartitionFactory(DeviceFactory):
log.info("adjusting device size from %.2f to %.2f"
% (device.size, size))
- device.req_base_size = min(PartitionFactory.default_size, size)
+ size = min(PartitionFactory.default_size, size)
+ device.req_base_size = max(size, device.format.minSize)
device.req_size = device.req_base_size
device.req_max_size = size
device.req_grow = size > device.req_base_size
--
1.7.7.6
More information about the anaconda-patches
mailing list