BIOS RAID sets get shown double when adding advanced storage (#574714)
FilterWindow.populate() will scan for BIOS RAID sets and add them on
every invocation. This causes them to be added multiple times if
FilterWindow.populate() get called multiple times. This happens for
example when adding an iSCSI target using the "add Advanced target"
button on a machine which has a BIOS RAID set.
Also since the second populate call will not have any of the raid set
members as argument, fstype cannot be determined, and the set shows
up in the Basic Devices tab rather then in the Firmware RAID tab.
iw/filter_gui.py | 9 +++++++--
1 files changed, 7 insertions(+), 2 deletions(-)
- if flags.dmraid:
+ if raids and flags.dmraid:
used_raidmembers = 
for rs in block.getRaidSets():
# dmraid does everything in sectors
@@ -675,12 +675,17 @@ class FilterWindow(InstallWindow):
members = filter(lambda m: isinstance(m, block.device.RaidDev),
members = map(lambda m: m.get_devpath(), members)
for d in raids:
if udev_device_get_name(d) in members:
fstype = udev_device_get_format(d)
+ # Skip this set if none of its members are in the raids list
+ if not fstype:
# biosraid devices don't really get udev data, at least not in a
# a way that's useful to the filtering UI. So we need to fake
# that data now so we have something to put into the store.
Anaconda-devel-list mailing list