summaryrefslogtreecommitdiffstats
path: root/iw/raid_dialog_gui.py
diff options
context:
space:
mode:
authorDavid Lehman <dlehman@redhat.com>2009-03-16 17:42:12 -0500
committerDavid Lehman <dlehman@redhat.com>2009-03-16 21:30:13 -0500
commit4b666dfd4710c255874a4c8ccdea919ced910981 (patch)
treebca13c93d80920d0a453aef06aedd765edce8eeb /iw/raid_dialog_gui.py
parent78c68671e51d983f9400ee138deea861210f920a (diff)
downloadanaconda-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.py34
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