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

[PATCH 10/16] Make it possible to ignore md-fwraid member disks.



---
 pyanaconda/storage/devicetree.py |    4 +++-
 pyanaconda/storage/udev.py       |    9 +++++++--
 2 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/pyanaconda/storage/devicetree.py b/pyanaconda/storage/devicetree.py
index 2981d35..fbbc2eb 100644
--- a/pyanaconda/storage/devicetree.py
+++ b/pyanaconda/storage/devicetree.py
@@ -523,10 +523,12 @@ class DeviceTree(object):
         # 2) Sets get added to exclusive disks with their dmraid set name by
         # the filter ui.  Note that making the ui use md names instead is not
         # possible as the md names are simpy md# and we cannot predict the #
-        if udev_device_get_md_level(info) == "container":
+        if udev_device_is_md(info) and \
+           udev_device_get_md_level(info) == "container":
             return False
 
         if udev_device_get_md_container(info) and \
+               udev_device_is_md(info) and \
                udev_device_get_md_name(info):
             md_name = udev_device_get_md_name(info)
             for i in range(0, len(self.exclusiveDisks)):
diff --git a/pyanaconda/storage/udev.py b/pyanaconda/storage/udev.py
index 9dfe37c..b2cc5ab 100644
--- a/pyanaconda/storage/udev.py
+++ b/pyanaconda/storage/udev.py
@@ -165,9 +165,14 @@ def udev_device_is_md(info):
     # Don't identify partitions on mdraid arrays as raid arrays
     if udev_device_is_partition(info):
         return False
+
+    # imsm member disks have MD_METADATA set, but are not arrays
+    md_dir = "/sys" + udev_device_get_sysfs_path(info) + "/md"
+
     # isw raid set *members* have MD_METADATA set, but are not arrays!
-    return info.has_key("MD_METADATA") and \
-           info.get("ID_FS_TYPE") != "isw_raid_member"
+    return (info.has_key("MD_METADATA") and
+            info.get("ID_FS_TYPE") != "isw_raid_member" and
+            os.path.exists(md_dir))
 
 def udev_device_is_cciss(info):
     """ Return True if the device is a CCISS device. """
-- 
1.7.3.2


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