On Sun, Jun 25, 2006 at 04:15:26PM -0500, James Bottomley wrote: > On Thu, 2006-06-01 at 07:23 -0600, Matthew Wilcox wrote: > > > There's a potential solution to this. If we add a hook to sys_module_init > > such that it'll call a specified function before returning, we can make > > it wait until all scans are done. This way, userspace never sees the > > asynchronous scanning behaviour. But if you have devices of different > > types, you won't get the overlapping scans. > > How about this solution which works for me with debian on a huge 6 bus > scsi machine: it introduces a new module scsi_wait_scan.ko whose sole > job is to wait for the scans to complete in its init function. The > initrd/initramfs sequence now becomes: > > insert all other modules > modprobe scsi_wait_scan I guess there's no way of figuring out where the root disk is, and waiting only for that? On large servers, there may be hundreds of attached disks. Anything which can parallelize and perform an async scan will help boot times; however, waiting for all disks to come on-line when only one is actually needed can cause trouble. In particular, some of the attached disks/scsi chains may be bad, in which case one has to wait for a tediously long device/bus/host reset sequence to complete, and off-line the broken disk. --linas - : send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html