diff options
-rw-r--r-- | storage/devicetree.py | 10 | ||||
-rw-r--r-- | storage/formats/mdraid.py | 5 |
2 files changed, 13 insertions, 2 deletions
diff --git a/storage/devicetree.py b/storage/devicetree.py index 1a981f2be..9f1f0b496 100644 --- a/storage/devicetree.py +++ b/storage/devicetree.py @@ -1569,6 +1569,10 @@ 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) @@ -1709,8 +1713,10 @@ class DeviceTree(object): # Now, if the device is a disk, see if there is a usable disklabel. # If not, see if the user would like to create one. - format = getFormat(format_type) - if device.partitionable and not format.hidden: + # XXX ignore disklabels on multipath or biosraid member disks + if device.partitionable and not \ + (udev_device_is_biosraid(info) or + udev_device_is_multipath_member(info)): self.handleUdevDiskLabelFormat(info, device) if device.partitioned or self.isIgnored(info): # If the device has a disklabel, or the user chose not to diff --git a/storage/formats/mdraid.py b/storage/formats/mdraid.py index 17b01bb58..9983da4b2 100644 --- a/storage/formats/mdraid.py +++ b/storage/formats/mdraid.py @@ -64,6 +64,7 @@ class MDRaidMember(DeviceFormat): self.raidMinor = None #self.probe() + self.biosraid = False def probe(self): """ Probe for any missing information about this format. """ @@ -93,6 +94,10 @@ class MDRaidMember(DeviceFormat): # XXX hack -- we don't have a nice way to see if the array is active return False + @property + def hidden(self): + return (self._hidden or self.biosraid) + def writeKS(self, f): f.write("raid.%s" % self.mdUuid) |