With the --no-degraded option that has been added, it IS harmless for the array itself, but it can still block the boot.
If an array has been assembled too early, it should be stopped (running "mdadm -S /dev/md0" by hand worked for me) BEFORE trying to assemble it again, an other race may be present here ? mdadm can tell if a device is part of an array, this could be used to check that all devices are present before assembling it, but would slow things down or require some memory. If a device is really missing (shit happens...), the array should then be assembled in degraded mode. This should probably happen automatically (or with a confirmation) after the timeout, or by adding a boot option. -- initramfs script: race condition between sata and md https://launchpad.net/bugs/75681 -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs