Re: [patch 3/4] fastboot: make the raid autodetect code wait forall devices to init

From: Neil Brown
Date: Mon Jul 21 2008 - 00:30:36 EST


On Sunday July 20, arjan@xxxxxxxxxxxxx wrote:
> On Mon, 21 Jul 2008 09:06:36 +1000
> Neil Brown <neilb@xxxxxxx> wrote:
>
> > 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
>
>
> how about this patch?

Well,

> - while (driver_probe_done() != 0)
> + printk(KERN_INFO "md: Waiting for all devices to be available before autodetect\n");
> + printk(KERN_INFO "md: If you don't use raid, use raid=noautodetect\n");

that's better thanks. I'm quite happy with that.


> + while (driver_probe_done())
> msleep(100);

That's worse. Now it really looks like a boolean that is being used
wrongly. It seems that driver_probe_done either returns 0 or -EBUSY,
so I'd prefer

> + while (driver_probe_done() < 0)
> msleep(100);

or even

> + while (driver_probe_done() == -EBUSY)
> msleep(100);

though that is less robust.

Thanks,
NeilBrown
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/