On Apr 24, 2009, at 3:15 PM, Piergiorgio Sartor wrote:
On Wed, Apr 22, 2009 at 09:20:49PM -0400, Doug Ledford wrote:# This file causes block devices with Linux RAID (mdadm) signatures to# automatically cause mdadm to be run. # See udev(8) for syntaxSUBSYSTEM=="block", ACTION=="add", ENV{ID_FS_TYPE}=="linux_raid_member",\ IMPORT{program}="/sbin/mdadm --examine --export $tempnode", \ RUN+="/bin/bash -c '[ ! -f /dev/.in_sysinit ] && mdadm -I $env{DEVNAME}'"It seems the missing "change" is causing problems too. In fact, the first time the array is connected (it's hotpluggable), devices are "added", but the second time the devices are already there (not removed by unplug) and there is no "add" anymore, so the array is not assembled.
I'm guessing that you didn't completely stop all usage of the hotplug devices before you removed them as this works fine for me. If the devices aren't completely stopped before removal, then the stack can't delete the devices.
If the devices are deleted (rm /dev/md/...), then it works again (somehow, not really, to be honest).
Removing the /dev/md/ device files does nothing of value. However, I will note that I've seen udev take up to 30 or 45 seconds to process a bunch of md raid removals at the same time (aka, I did mdadm -S /dev/ md/* and it took udev that long to remove all the old device files). So, make sure you have completely stopped arrays before removing the devices, then watch /dev/md/ to wait until udev does its job, then only replug the array after that has happened and things should work fine.
-- Doug Ledford <dledford@xxxxxxxxxx> GPG KeyID: CFBFF194 http://people.redhat.com/dledford InfiniBand Specific RPMS http://people.redhat.com/dledford/Infiniband
Attachment:
PGP.sig
Description: This is a digitally signed message part