From: David Lehman <dlehman(a)redhat.com>
This prevents, eg: assigning PReP boot format to a device much larger
than the maximum size allowed for that format.
---
blivet/devices/storage.py | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/blivet/devices/storage.py b/blivet/devices/storage.py
index 98b0f1e..d90b3f5 100644
--- a/blivet/devices/storage.py
+++ b/blivet/devices/storage.py
@@ -686,6 +686,12 @@ def _setFormat(self, fmt):
# FIXME: self.format.status doesn't mean much
raise errors.DeviceError("cannot replace active format",
self.name)
+ # check device size against format limits
+ if fmt.maxSize and fmt.maxSize < self.size:
+ raise errors.DeviceError("device is too large for new format")
+ elif fmt.minSize and fmt.minSize > self.size:
+ raise errors.DeviceError("device is too small for new format")
+
self._format = fmt
self._format.device = self.path
self._updateNetDevMountOption()
--
To view this commit on github, visit
https://github.com/rhinstaller/blivet/commit/d0b91ef37616dccf7af3ad92cdd4...