Re: [PATCH] Fix preservation of format attrs for preexisting luks partitions. (#495848)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Looks ok,

Regards,

Hans


On 04/21/2009 01:23 AM, David Lehman wrote:
When carrying over the format's attributes we do not consider the
possiblility that the partition is encrypted, in which case we want to
preserve the attributes of the LUKSDevice's - not the PartitionDevice's -
format. This was causing a traceback whenever a user tried to edit a
preexisting encrypted partition.
---
  iw/partition_dialog_gui.py |   25 ++++++++++++-------------
  1 files changed, 12 insertions(+), 13 deletions(-)

diff --git a/iw/partition_dialog_gui.py b/iw/partition_dialog_gui.py
index 03e9a59..1e99b64 100644
--- a/iw/partition_dialog_gui.py
+++ b/iw/partition_dialog_gui.py
@@ -214,6 +214,12 @@ class PartitionEditor:
              else:
                  # preexisting partition, just set mount point and format flag
                  request = self.origrequest
+                if request.format.type == "luks":
+                    usedev = self.storage.devicetree.getChildren(request)[0]
+                else:
+                    usedev = request
+
+                origformat = usedev.format
                  mountpoint = self.mountCombo.get_children()[0].get_text()
                  devicetree = self.anaconda.id.storage.devicetree

@@ -223,17 +229,10 @@ class PartitionEditor:

                         # carry over exists, migrate, size, and device
                         # necessary for partition editor UI
-                       try:
-                           format = fmt_class(mountpoint=mountpoint,
-                                              exists=request.format.exists,
-                                              migrate=request.format.migrate,
-                                              size=request.format.size,
-                                              device=request.format.device)
-                       except AttributeError:
-                           format = fmt_class(mountpoint=mountpoint,
-                                              exists=request.format.exists,
-                                              migrate=request.format.migrate,
-                                              device=request.format.device)
+                       format = fmt_class(mountpoint=mountpoint,
+                                          exists=origformat.exists,
+                                          size=getattr(origformat, "size", None),
+                                          device=usedev.path)

                         luksdev = None
                         if self.fsoptionsDict.has_key("lukscb") and \
@@ -245,7 +244,7 @@ class PartitionEditor:
                             format = getFormat("luks",
                                                device=self.origrequest.path,
                                                passphrase=self.storage.encryptionPassphrase)
-                       actions.append(ActionCreateFormat(request, format))
+                       actions.append(ActionCreateFormat(usedev, format))
                         if luksdev:
                             actions.append(ActionCreateDevice(luksdev))
                             actions.append(ActionCreateFormat(luksdev))
@@ -266,7 +265,7 @@ class PartitionEditor:

                  if self.fsoptionsDict.has_key("migratecb") and \
                     self.fsoptionsDict["migratecb"].get_active():
-                    actions.append(ActionMigrateFormat(request))
+                    actions.append(ActionMigrateFormat(usedev))

                  if self.fsoptionsDict.has_key("resizecb") and \
                     self.fsoptionsDict["resizecb"].get_active():

_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/anaconda-devel-list

[Index of Archives]     [Kickstart]     [Fedora Users]     [Fedora Legacy List]     [Fedora Maintainers]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]
  Powered by Linux