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

[PATCH] Determine if an mdmember is biosraid earlier (#586298)



Currently kickstart installs to Intel (mdraid using)  BIOS RAId sets
with "clearpart --all" do not work.

handleUdevDeviceFormat() calls shouldClear() to determine if format
specific handling needs to be done and shouldClear() depends on the
biosraid flag of the mdmember format to decide wether or not to
clear mdmember formats with --all (through the format.hidden attribute).

However the biosraid flag gets set by the format specific handling
which gets skipped in this case because it has not been set yet. This
patch fixes this by setting the biosraid property of the mdmember
format earlier by passing it in into its __init__ method, which
seems a much cleaner solution in general.
---
 storage/devicetree.py     |    5 +----
 storage/formats/mdraid.py |    2 +-
 2 files changed, 2 insertions(+), 5 deletions(-)

diff --git a/storage/devicetree.py b/storage/devicetree.py
index 5c4df8e..afc1dfb 100644
--- a/storage/devicetree.py
+++ b/storage/devicetree.py
@@ -1577,10 +1577,6 @@ class DeviceTree(object):
         name = udev_device_get_name(info)
         sysfs_path = udev_device_get_sysfs_path(info)
 
-        if udev_device_is_biosraid(info):
-            # this will prevent display of the member devices in the UI
-            device.format.biosraid = True
-
         md_array = self.getDeviceByUuid(device.format.mdUuid)
         if device.format.mdUuid and md_array:
             md_array._addDevice(device)
@@ -1759,6 +1755,7 @@ class DeviceTree(object):
                 kwargs["mdUuid"] = udev_device_get_md_uuid(info)
             except KeyError:
                 log.debug("mdraid member %s has no md uuid" % name)
+            kwargs["biosraid"] = udev_device_is_biosraid(info)
         elif format_type == "LVM2_member":
             # lvm
             try:
diff --git a/storage/formats/mdraid.py b/storage/formats/mdraid.py
index d153807..f35cbd3 100644
--- a/storage/formats/mdraid.py
+++ b/storage/formats/mdraid.py
@@ -64,7 +64,7 @@ class MDRaidMember(DeviceFormat):
         self.raidMinor = None
 
         #self.probe()
-        self.biosraid = False
+        self.biosraid = kwargs.get("biosraid")
 
     def __str__(self):
         s = DeviceFormat.__str__(self)
-- 
1.7.0.1


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