Re: scsi_wait_scan not working (2.6.30.5)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tuesday 25 of August 2009, you wrote:
> On Tue, 2009-08-25 at 21:44 +0200, Arkadiusz Miskiewicz wrote:
> > On Tuesday 25 of August 2009, James Bottomley wrote:
> > > On Tue, 2009-08-25 at 21:24 +0200, Arkadiusz Miskiewicz wrote:
> > > > What could be the reason for scsi_wait_scan not waiting untill all
> > > > disks are found?
> > > >
> > > > I'm testing 2.6.30.5 on hardware with LSI Logic / Symbios Logic
> > > > MegaRAID 530 SCSI 320-0X RAID controller and modprobe scsi_wait_scan
> > > > finishes earlier than disks are found.
> > > >
> > > > My initrd (romfs) does:
> > > > insmod /lib/modules/2.6.30.5-0.3/kernel/drivers/scsi/scsi_mod.ko
> > > > insmod
> > > > /lib/modules/2.6.30.5-0.3/kernel/drivers/scsi/megaraid/megaraid_mm.ko
> > > > insmod
> > > > /lib/modules/2.6.30.5-0.3/kernel/drivers/scsi/megaraid/megaraid_mbox.
> > > >ko insmod /lib/modules/2.6.30.5-0.3/kernel/lib/crc-t10dif.ko
> > > > insmod /lib/modules/2.6.30.5-0.3/kernel/drivers/scsi/sd_mod.ko
> > > > insmod
> > > > /lib/modules/2.6.30.5-0.3/kernel/drivers/scsi/scsi_wait_scan.ko
> > > > insmod /lib/modules/2.6.30.5-0.3/kernel/fs/exportfs/exportfs.ko
> > > > insmod /lib/modules/2.6.30.5-0.3/kernel/fs/xfs/xfs.ko
> > > > if [ "${ROOT##/dev/}" != "${ROOT}" ]; then
> > > > rootnr="$(busybox awk -v rootnode="${ROOT##/dev/}" '$4 == rootnode {
> > > > print 256 * $1 + $2 }' /proc/partitions)"
> > > > if [ -n "$rootnr" ]; then
> > > > echo "$rootnr" > /proc/sys/kernel/real-root-dev
> > > > fi
> > > >
> > > >
> > > > Now if I add sleep few seconds or /bin/sh at the end of this initrd,
> > > > then boot and then disks are detected properly and rootfs is mounted
> > > > properly (after I exit from sh in case when /bin/sh is used).
> > > >
> > > > The question remains - why scsi_wait_scan doesn't wait?
> > >
> > > It's caused by the sd async patches.  What's happening is wait_scan is
> > > waiting until all the scans are complete, but now sd attachment may not
> > > be completed by the time that happens.  So, although you have a scanned
> > > disk, you can't mount it without and attached sd driver.
> > >
> > > Hopefully when
> > > all initrds are configured to wait until root appears, this problem
> > > will go away.
> >
> > Uh, ugly. I'll disable SCSI_SCAN_ASYNC here then.
>
> That won't actually help: the sd async scan is a separate mechanism not
> tied to that variable

I assume there is no configurable way to disable this?

>
> > Anyway what's the point of scsi_wait_scan module if initrd is still
> > required to wait until root appears? (unless current behaviour is broken
> > behaviour meant to be fixed?)
>
> It was supposed to be an interim measure until the ditributions got
> their act together for initrd booting by waiting for the root disk to
> appear.  It's just been "interim" for a bit longer than expected.

Isn't kernel better place for this?

Handling that in userspace is very complicated for such setups like fs on top 
of software raid where raid is assembled by UUID of devices etc, etc. 
Userspace will need to handle all weird cases to figure out what devices are 
needed (eg. parse mdadm config) to be able to wait for thsese and then go into 
next step.

Are major distros actually handling this well?

> James

-- 
Arkadiusz Miśkiewicz        PLD/Linux Team
arekm / maven.pl            http://ftp.pld-linux.org/
--
To unsubscribe from this list: 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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux