The dmraid change isn't really appropriate since it only needs to be run for local boots, which is why it was in local-top. Also the script really should go away entirely since udev runs dmraid. It seems having it in both places creates a race condition to see which one activates the array first.
We already have udev rules to choose which device to point the by-uuid link to, it seems to me that lvm and dmraid both should be modified to be told by udev which device to scan, rather than enumerating over every /dev/xxxx* it finds. That way when udev decides the device belongs to dmraid, it won't ask lvm to scan it to see if it contains a pv, and therefore, lvm won't try to use it.
The dmraid change isn't really appropriate since it only needs to be run for local boots, which is why it was in local-top. Also the script really should go away entirely since udev runs dmraid. It seems having it in both places creates a race condition to see which one activates the array first.
We already have udev rules to choose which device to point the by-uuid link to, it seems to me that lvm and dmraid both should be modified to be told by udev which device to scan, rather than enumerating over every /dev/xxxx* it finds. That way when udev decides the device belongs to dmraid, it won't ask lvm to scan it to see if it contains a pv, and therefore, lvm won't try to use it.