[PATCH 5/8] Filter out multipath devices from the getDisks results.

Chris Lumens clumens at redhat.com
Thu Mar 14 18:48:48 UTC 2013


We don't want these included as local standard disks.
---
 pyanaconda/ui/gui/spokes/storage.py | 8 ++++----
 pyanaconda/ui/lib/disks.py          | 6 +++++-
 2 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/pyanaconda/ui/gui/spokes/storage.py b/pyanaconda/ui/gui/spokes/storage.py
index 3e80c80..810f50a 100644
--- a/pyanaconda/ui/gui/spokes/storage.py
+++ b/pyanaconda/ui/gui/spokes/storage.py
@@ -41,7 +41,7 @@
 from gi.repository import Gdk, GLib, Gtk
 from gi.repository import AnacondaWidgets
 from pyanaconda.ui import communication
-from pyanaconda.ui.lib.disks import getDisks, size_str
+from pyanaconda.ui.lib.disks import getDisks, isLocalDisk, size_str
 from pyanaconda.ui.gui import GUIObject
 from pyanaconda.ui.gui.spokes import NormalSpoke
 from pyanaconda.ui.gui.spokes.lib.cart import SelectedDisksDialog
@@ -318,9 +318,9 @@ class StorageSpoke(NormalSpoke, StorageChecker):
         self._ready = False
         self.selected_disks = self.data.ignoredisk.onlyuse[:]
 
-        # This list gets set up once in initialize and should not be modified
-        # except perhaps to add advanced devices. It will remain the full list
-        # of disks that can be included in the install.
+        # This list contains all possible disks that can be included in the install.
+        # All types of advanced disks should be set up for us ahead of time, so
+        # there should be no need to modify this list.
         self.disks = []
 
         if not flags.automatedInstall:
diff --git a/pyanaconda/ui/lib/disks.py b/pyanaconda/ui/lib/disks.py
index e78f08e..ba31eac 100644
--- a/pyanaconda/ui/lib/disks.py
+++ b/pyanaconda/ui/lib/disks.py
@@ -20,9 +20,10 @@
 #                    Chris Lumens <clumens at redhat.com>
 #
 
+from blivet.devices import MultipathDevice
 from blivet.size import Size
 
-__all__ = ["FakeDiskLabel", "FakeDisk", "getDisks", "size_str"]
+__all__ = ["FakeDiskLabel", "FakeDisk", "getDisks", "isLocalDisk", "size_str"]
 
 class FakeDiskLabel(object):
     def __init__(self, free=0):
@@ -63,6 +64,9 @@ def getDisks(devicetree, fake=False):
 
     return disks
 
+def isLocalDisk(disk):
+    return not isinstance(disk, MultipathDevice)
+
 def size_str(mb):
     if isinstance(mb, Size):
         spec = str(mb)
-- 
1.8.1.2



More information about the anaconda-patches mailing list