I must say that I think this is pretty horrible. But then it is a
pretty horrible problem and I don't think there is a clean solution.
If md in a module, this code won't run so there will be no change. If
md is compiled in, this code will silently slow down boot even if
there are no raid arrays to assemble. I think the "silently" is a
problem. I'm not looking forward to "my computer boots slower if I
compile md into the kernel" reports on linux-raid@vger.
What would you think of
if (driver_probe_done() != 0) {
printk("md: Waiting for all devices to be available before autodetect\n"
"md: If you don't boot off raid, use raid=noautodetect\n");
do
msleep(100);
while (driver_probe_done() != 0);
}
??