[PATCH 1/3] Reverting partition's size shouldn't require it to be aligned (#1165714)
Vratislav Podzimek
vpodzime at redhat.com
Thu Nov 27 12:46:26 UTC 2014
If the original size was unaligned, it's not our fault and we can do nothing
about it.
Signed-off-by: Vratislav Podzimek <vpodzime at redhat.com>
---
blivet/devices.py | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/blivet/devices.py b/blivet/devices.py
index c66bfd4..7f03a4d 100644
--- a/blivet/devices.py
+++ b/blivet/devices.py
@@ -605,6 +605,8 @@ class StorageDevice(Device):
size = read_int_from_sys("%s/size" % device_root)
self._size = Size(size * sector_size)
+ self._orig_size = self._size
+
def __str__(self):
exist = "existing"
if not self.exists:
@@ -743,7 +745,7 @@ class StorageDevice(Device):
newsize, self.minSize)
raise ValueError("size is smaller than the minimum for this device")
- if self.alignTargetSize(newsize) != newsize:
+ if self.alignTargetSize(newsize) != newsize and newsize != self._orig_size:
raise ValueError("new size would violate alignment requirements")
self._targetSize = newsize
@@ -1480,6 +1482,8 @@ class PartitionDevice(StorageDevice):
self.req_start_sector = start
self.req_end_sector = end
+ self._orig_size = self._size
+
def __repr__(self):
s = StorageDevice.__repr__(self)
s += (" grow = %(grow)s max size = %(maxsize)s bootable = %(bootable)s\n"
@@ -1546,7 +1550,8 @@ class PartitionDevice(StorageDevice):
# this gets handled in superclass setter, below
aligned = newsize
- if aligned != newsize:
+ # reverting to unaligned original size is not an issue
+ if aligned != newsize and newsize != self._orig_size:
raise ValueError("new size will not yield an aligned partition")
# change this partition's geometry in-memory so that other
--
1.9.3
More information about the anaconda-patches
mailing list