From 4b666dfd4710c255874a4c8ccdea919ced910981 Mon Sep 17 00:00:00 2001 From: David Lehman Date: Mon, 16 Mar 2009 17:42:12 -0500 Subject: 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. --- iw/raid_dialog_gui.py | 34 +++++++++++++++++++++++++--------- 1 file changed, 25 insertions(+), 9 deletions(-) (limited to 'iw/raid_dialog_gui.py') 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 -- cgit