On Tue, 27 Mar 2007, James Bottomley wrote:
> On Tue, 2007-03-27 at 17:25 +0100, Hugh Dickins wrote:
> > I'm not using an initrd, most of my kernel is builtin,
> > just a few modules for occasional filesystems.
> > 
> > CONFIG_MODULES=y
> > CONFIG_SCSI=y
> > CONFIG_SCSI_SCAN_ASYNC=y
> > CONFIG_SCSI_WAIT_SCAN=m
> > 
> > 2.6.21-rc5-mm2 VFS panics unable to find my root on /dev/sda2,
> > but boots okay if I change drivers/scsi/Kconfig to "default y"
> > instead of "default m" for SCSI_WAIT_SCAN.
> 
> Hmm ... it sounds like there's a missing scsi_complete_async_scans() in
> your environment?

Situation unchanged in 2.6.21-rc5-mm4.  By what route do you expect
scsi_complete_async_scans() to get called usually, in a monolithic
kernel?  Before you made scsi_wait_scan a separate loadable module,
it was called via that late_initcall(wait_scan_init), so perhaps now
we need...


Make sure there's a late_initcall to scsi_complete_async_scans when
it's built in, so a monolithic SCSI_SCAN_ASYNC kernel can rely on the
scans being completed before trying to mount root, even if they're slow.

Signed-off-by: Hugh Dickins <[EMAIL PROTECTED]>

--- 2.6.21-rc5-mm4/drivers/scsi/scsi_scan.c     2007-04-03 15:29:21.000000000 
+0100
+++ linux/drivers/scsi/scsi_scan.c      2007-04-03 17:24:24.000000000 +0100
@@ -183,6 +183,7 @@ int scsi_complete_async_scans(void)
 
 /* Only exported for the benefit of scsi_wait_scan */
 EXPORT_SYMBOL_GPL(scsi_complete_async_scans);
+late_initcall(scsi_complete_async_scans);
 
 /**
  * scsi_unlock_floptical - unlock device via a special MODE SENSE command
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to