Re: scsi_wait_scan not working (2.6.30.5)

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

 



On Wednesday 26 of August 2009, Alan Stern wrote:
> On Tue, 25 Aug 2009, Arkadiusz Miskiewicz wrote:
> > On Tuesday 25 of August 2009, Arkadiusz Miskiewicz wrote:
> > > 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
> > > > > > >_mbo x. 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?
> >
> > I found this patch
> >
> > http://marc.info/?l=linux-scsi&m=124388639906873&w=2
> >
> > but it doesn't work on 30.5 (it's still not waiting untill everything is
> > discovered)
>
> Did you remember to rebuild your initrd after applying this patch and
> rebuilding the module?

Patch was applied and module rebuilt. I'm 100% sure since I added printks to confirm
(not included below).

>
> Can you provide the dmesg log showing what happens during bootup with
> the patch applied?

Hm, can console= point to netconsole somehow, so userspace messages could be seen
via netconsole? Anyway from netconsole:

Aug 30 01:07:16 rhea   13.144139] netconsole: network logging started
Aug 30 01:07:16 rhea   13.173297] SCSI subsystem initialized
Aug 30 01:07:16 rhea   13.189630] megaraid cmm: 2.20.2.7 (Release Date: Sun Jul 16 00:01:03 EST 2006)
Aug 30 01:07:16 rhea   13.216688] megaraid: 2.20.5.1 (Release Date: Thu Nov 16 15:32:35 EST 2006)
Aug 30 01:07:16 rhea   13.238942] megaraid: probe new device 0x1000:0x0407:0x1000:0x0530:
Aug 30 01:07:16 rhea bus: 2:slot 3:func 0
Aug 30 01:07:16 rhea   13.271180] megaraid 0000:02:03.0: PCI INT A -> GSI 27 (level, low) -> IRQ 27
Aug 30 01:07:16 rhea   13.316707] megaraid: fw version:[414G] bios version:[A100]
Aug 30 01:07:16 rhea   13.334528] scsi0 : LSI Logic MegaRAID driver
Aug 30 01:07:16 rhea   13.352156] scsi[0]: scanning scsi channel 0 [Phy 0]
Aug 30 01:07:16 rhea for: non-raid devices
Aug 30 01:07:16 rhea   13.381065] Driver 'sd' needs updating - please use bus_type methods
Aug 30 01:07:16 rhea   13.420430] SGI XFS with ACLs, security attributes, large block/inode numbers, no debug enabled
Aug 30 01:07:16 rhea   13.453259] SGI XFS Quota Management subsystem
Aug 30 01:07:16 rhea   13.583779] VFS: Cannot open root device "802" or unknown-block(8,2)
Aug 30 01:07:16 rhea   13.602814] Please append a correct "root=" boot option; here are the available partitions:
Aug 30 01:07:16 rhea   13.627824] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(8,2)
Aug 30 01:07:16 rhea   13.652637] Pid: 1, comm: swapper Not tainted 2.6.30.5-vs2.3.0.36.14-pre7-0.3 #4
Aug 30 01:07:16 rhea   13.674797] Call Trace:
Aug 30 01:07:16 rhea   13.682138]  [<ffffffff8056e75d>] ? panic+0x7a/0x12e
Aug 30 01:07:16 rhea   13.697003]  [<ffffffff8056e851>] ? printk+0x40/0x47
Aug 30 01:07:16 rhea   13.711890]  [<ffffffff8072e090>] ? mount_block_root+0x1d6/0x271
Aug 30 01:07:16 rhea   13.729892]  [<ffffffff8072ecdb>] ? initrd_load+0x228/0x324
Aug 30 01:07:16 rhea   13.746585]  [<ffffffff8072e24f>] ? prepare_namespace+0xd5/0x18d
Aug 30 01:07:16 rhea   13.764578]  [<ffffffff8072d6cf>] ? kernel_init+0x178/0x188
Aug 30 01:07:16 rhea   13.781282]  [<ffffffff8020ceba>] ? child_rip+0xa/0x20
Aug 30 01:07:16 rhea   13.796686]  [<ffffffff8072d557>] ? kernel_init+0x0/0x188
Aug 30 01:07:16 rhea   13.812858]  [<ffffffff8020ceb0>] ? child_rip+0x0/0x20
Aug 30 01:07:16 rhea   13.828253] Rebooting in 60 seconds

and from ipmi console (this one is totally trashed, ipm console is crap in this machine)

[    2.080325] Block layer SCSI generic (bsg) drive550 driver, 4 ports, IRQ sharing enabled
[    2.553445] serial8250: ttyS0 at I/O 0x3f8 (irq = 4input/input0
[    2.950179] Fixed MDIO Bus: probed
[    2.960632] PNP: PS/2 Controller [PNP030er
[    3.097910] cpuidle: using governor menu
[    3.109941] TCP cubic registered
[    3.120MDISK: gzip image found at block 0
[    3.415767] VFS: Mounted root (romfs filesystem) readonlylow) -> IRQ 55
[    4.148743] e1000: 0000:03:04.1: e1000_probe: (PCI-X:100MHz:64-bit) 00:04:23:[    4.353818] ADDRCONF(NETDEV_UP): eth0: link is not ready
[    6.934118] e1000: eth0 NIC Linkraid: 2.20.5.1 (Release Date: Thu Nov 16 15:32:35 EST 2006)
dules/2.6.30.5-v[   13.238942] megas/scsi/meg[   13.352156] scsi[0]: scanning scsi channel 0 [Phy 0] for non-raid devices
araid/menel/drivers/scsi/scsi_wait_scan.ko
+ insmod /lib/modules/2.6.30.5-vs2.3.0.36.14-pre7-0.3/kernelng: VFS: Unable to mount root fs on unknown-block(8,2)
[   13.652637] Pid: 1, comm: swapper Not  [<ffffffff8072d6cf>] ? kernel_init+0x178/0x188
[   13.781282]  [<ffffffff8020ceba>] ? child_r


initrd was doing:
...
insmod /lib/modules/2.6.30.5-vs2.3.0.36.14-pre7-0.3/kernel/drivers/net/e1000/e1000.ko
insmod /lib/modules/2.6.30.5-vs2.3.0.36.14-pre7-0.3/kernel/fs/configfs/configfs.ko
insmod /lib/modules/2.6.30.5-vs2.3.0.36.14-pre7-0.3/kernel/drivers/net/netconsole.ko netconsole=xxx
insmod /lib/modules/2.6.30.5-vs2.3.0.36.14-pre7-0.3/kernel/drivers/scsi/scsi_mod.ko
insmod /lib/modules/2.6.30.5-vs2.3.0.36.14-pre7-0.3/kernel/drivers/scsi/megaraid/megaraid_mm.ko
insmod /lib/modules/2.6.30.5-vs2.3.0.36.14-pre7-0.3/kernel/drivers/scsi/megaraid/megaraid_mbox.ko
insmod /lib/modules/2.6.30.5-vs2.3.0.36.14-pre7-0.3/kernel/lib/crc-t10dif.ko
insmod /lib/modules/2.6.30.5-vs2.3.0.36.14-pre7-0.3/kernel/drivers/scsi/sd_mod.ko
insmod /lib/modules/2.6.30.5-vs2.3.0.36.14-pre7-0.3/kernel/drivers/scsi/scsi_wait_scan.ko
insmod /lib/modules/2.6.30.5-vs2.3.0.36.14-pre7-0.3/kernel/fs/exportfs/exportfs.ko
insmod /lib/modules/2.6.30.5-vs2.3.0.36.14-pre7-0.3/kernel/fs/xfs/xfs.ko
...

and of course adding sleep 10 after scsi_wait_scan fixes boot
>
> Alan Stern


-- 
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