On Thu, 2006-06-01 at 07:23 -0600, Matthew Wilcox wrote: > 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. alternative is a syscall/ioctl/sysfs thing that userland can trigger to cause this wait to happen... would be nice I suppose as a general option..... - : 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