On Thu, Jun 01, 2006 at 07:14:05PM +0600, Alexander E. Patrakov wrote: > Patrick Mansfield wrote: > >>That's what scsi_complete_async_scans() is for. If you have a built-in > >>module, it will wait for the async scans to finish before we get as far > >>as trying to mount root. It does change observable behaviour in that > >>sys_module_init() will return before scans are complete. > > What are the expected interactions of this code with early userspace aka > "kinit" that comes with (soon to be merged) klibc? Does this > scsi_complete_async_scans() function get called at all if such "default" > initramfs with kinit is used? It gets called as a late_initcall -- before initramfs gets started. The problem comes when you load your scsi driver as a module. 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. - : 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