diff options
author | David Lehman <dlehman@redhat.com> | 2009-03-16 17:42:12 -0500 |
---|---|---|
committer | David Lehman <dlehman@redhat.com> | 2009-03-16 21:30:13 -0500 |
commit | 4b666dfd4710c255874a4c8ccdea919ced910981 (patch) | |
tree | bca13c93d80920d0a453aef06aedd765edce8eeb /iw/raid_dialog_gui.py | |
parent | 78c68671e51d983f9400ee138deea861210f920a (diff) | |
download | anaconda-4b666dfd4710c255874a4c8ccdea919ced910981.tar.gz anaconda-4b666dfd4710c255874a4c8ccdea919ced910981.tar.xz anaconda-4b666dfd4710c255874a4c8ccdea919ced910981.zip |
Do not create a LUKSDevice if we do not have a way to map the device.
If the user elects not to provide a passphrase or key, do not create
a LUKSDevice. We will just keep the backing device with its luks
format. This saves us the trouble of checking whether we have the
ability to set up each LUKSDevice since we only have LUKSDevice
instances for those we can set up.
Diffstat (limited to 'iw/raid_dialog_gui.py')
-rw-r--r-- | iw/raid_dialog_gui.py | 34 |
1 files changed, 25 insertions, 9 deletions
diff --git a/iw/raid_dialog_gui.py b/iw/raid_dialog_gui.py index 3ae2f6e09..cab2bb067 100644 --- a/iw/raid_dialog_gui.py +++ b/iw/raid_dialog_gui.py @@ -187,13 +187,16 @@ class RaidEditor: not self.fsoptionsDict["lukscb"].get_active() and \ self.origrequest.format.type == "luks": # destroy luks format and mapped device - luksdev = self.storage.devicetree.getChildren(self.origrequest)[0] - if luksdev: + try: + luksdev = self.storage.devicetree.getChildren(self.origrequest)[0] + except IndexError: + pass + else: actions.append(ActionDestroyFormat(luksdev.format)) actions.append(ActionDestroyDevice(luksdev)) luksdev = None - actions.append(ActionDestroyFormat(self.origrequest)) + actions.append(ActionDestroyFormat(self.origrequest)) else: # existing device fmt_class = self.fsoptionsDict["fstypeCombo"].get_active_value() @@ -214,11 +217,15 @@ class RaidEditor: not self.fsoptionsDict["lukscb"].get_active() and \ self.origrequest.format.type == "luks": # destroy luks format and mapped device - luksdev = self.storage.devicetree.getChildren(self.origrequest)[0] - if luksdev: + try: + luksdev = self.storage.devicetree.getChildren(self.origrequest)[0] + except IndexError: + pass + else: actions.append(ActionDestroyFormat(luksdev.format)) actions.append(ActionDestroyDevice(luksdev)) luksdev = None + actions.append(ActionDestroyFormat(self.origrequest)) elif self.origrequest.format.mountable: self.origrequest.format.mountpoint = mountpoint @@ -226,7 +233,10 @@ class RaidEditor: if self.fsoptionsDict.has_key("migratecb") and \ self.fsoptionsDict["migratecb"].get_active(): if origrequest.format.type == "luks": - usedev = self.storage.devicetree.getChildren(origrequest)[0] + try: + usedev = self.storage.devicetree.getChildren(origrequest)[0] + except IndexError: + usedev = origrequest else: usedev = origrequest migrate = True @@ -332,9 +342,15 @@ class RaidEditor: self.lukscb.set_data("formatstate", 1) if origrequest.format.type == "luks": - luksdev = self.storage.devicetree.getChildren(origrequest)[0] - usedev = luksdev - format = usedev.format + try: + luksdev = self.storage.devicetree.getChildren(origrequest)[0] + except IndexError: + luksdev = None + usedev = origrequest + format = origrequest.format + else: + usedev = luksdev + format = usedev.format else: luksdev = None usedev = origrequest |