[master 19/19] Implement LUKSDevice resizing methods.

mulkieran installerbot-noreply at redhat.com
Thu Jun 18 21:04:20 UTC 2015


From: mulhern <amulhern at redhat.com>

Related: #56

Signed-off-by: mulhern <amulhern at redhat.com>
---
 blivet/devices/luks.py | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/blivet/devices/luks.py b/blivet/devices/luks.py
index 197926f..9a87626 100644
--- a/blivet/devices/luks.py
+++ b/blivet/devices/luks.py
@@ -59,6 +59,16 @@ def __init__(self, name, fmt=None, size=None, uuid=None,
     def raw_device(self):
         return self.slave
 
+    def _setTargetSize(self, newsize):
+        if newsize > self.slave.size:
+            raise ValueError("requested size %s is larger than size of slave device %s" % (newsize, self.slave.name))
+
+        if newsize < self.format.size:
+            raise ValueError("requested size %s is smaller size of existing format %s on device" % (newsize, self.format))
+
+        super(LUKSDevice, self)._setTargetSize(newsize)
+        self.slave.format.targetSize = newsize
+
     @property
     def size(self):
         if not self.exists:
@@ -82,6 +92,9 @@ def _postTeardown(self, recursive=False):
     def dracutSetupArgs(self):
         return set(["rd.luks.uuid=luks-%s" % self.slave.format.uuid])
 
+    def resize(self):
+        self.slave.format.resize()
+
     def populateKSData(self, data):
         self.slave.populateKSData(data)
         data.encrypted = True


-- 
To view this commit on github, visit https://github.com/rhinstaller/blivet/commit/a1c2579990dbfedba1289d62fb59cbf87bb8b927


More information about the anaconda-patches mailing list