On Sun, May 27, 2007 at 12:25:22AM +0200, Thibaut VARENE wrote: > My problem was that: > - I use a standalone kernel (no init{rd,ramfs}) > - I have CONFIG_MODULES=y > - I build all my (needed) scsi drivers 'y' (builtin)
> Yet CONFIG_SCSI_WAIT_SCAN defaults to 'm' with no possibility of > setting it otherwise. So I ended up with a kernel with builtin async > scsi scan and no wait_scan, thus not waiting for the probes to > complete before trying to mount rootfs... Thanks. That's expected to work, as it's how I build my kernels too. Looks like this got broken when other people were trying to fix the modular case. It *was* the case that scsi_wait_scan got built in to the kernel if CONFIG_SCSI was =y. But of course, that's no good for people who build with CONFIG_SCSI=y and their driver =m -- they still have to have a module to load. And we shouldn't prompt the user for it, we should determine the right thing to do. Not even compile tested (but it's at least approximately what the original async scanning patches used to do): diff --git a/drivers/scsi/scsi_scan.c b/drivers/scsi/scsi_scan.c index a67f315..2653a06 100644 --- a/drivers/scsi/scsi_scan.c +++ b/drivers/scsi/scsi_scan.c @@ -184,6 +184,11 @@ int scsi_complete_async_scans(void) /* Only exported for the benefit of scsi_wait_scan */ EXPORT_SYMBOL_GPL(scsi_complete_async_scans); +/* If everything's built in, we need to wait for everything to scan */ +#ifndef MODULE +late_initcall(scsi_complete_async_scans); +#endif + /** * scsi_unlock_floptical - unlock device via a special MODE SENSE command * @sdev: scsi device to send command to - To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html