scsi_add_device() broken? (was Re: SBP2 hotplug doesn't update /proc/partitions)

Ben Collins (bcollins@debian.org)
Thu, 12 Jun 2003 22:40:44 -0400


On Thu, Jun 12, 2003 at 03:52:43PM -0400, Ben Collins wrote:
> On Thu, Jun 12, 2003 at 12:28:00PM -0700, Torrey Hoffman wrote:
> > I am now running 2.5.70-bk15, and with slab debugging turned off SBP2
> > mostly works. However, I just had an interesting glitch show up.
> >
> > I plugged in a 120 GB drive which had two VFAT partitions, mounted them,
> > copied some data to them, unmounted them, and unplugged the drive.
> > That worked perfectly. (This was the first use of SBP2 after booting.)
> >
> > Then I plugged in a 250 GB drive with a single reiserfs partition. The
> > SBP2 driver detected the drive correctly, but the kernel's idea of what
> > partitions are available was not updated.
> >
> > /proc/partitions still has the old, stale data from the 120 GB drive and
> > looks like this: (skipping my hda partitions)
>
> Sounds like the scsi layer is keeping stale info. I'd say this is
> suspiciously similar to what's causing your oops in your later email.
> Track down where the stale info comes from, and I think you'll find the
> cause of both your problems.

scsi0 : SCSI emulation for IEEE-1394 SBP-2 Devices
ieee1394: sbp2: Query logins to SBP-2 device successful
ieee1394: sbp2: Maximum concurrent logins supported: 1
ieee1394: sbp2: Number of active logins: 0
ieee1394: sbp2: Logged into SBP-2 device
ieee1394: sbp2: Node[02:1023]: Max speed [S400] - Max payload [2048]
Vendor: FireWire Model: 1394 Disk Drive Rev: G603
Type: Direct-Access ANSI SCSI revision: 02
SCSI device sda: 240121728 512-byte hdwr sectors (122942 MB)
sda: cache data unavailable
sda: assuming drive cache: write through
sda: unknown partition table
devfs_mk_dir: invalid argument.<5>Attached scsi disk sda at scsi0, channel 0, id 0, lun 0

Note, the "unknown partition table" is ok for me, because I am using a
whole-disk filesystem. However, the devfs_mk_dir() error is suspicious.
Note, I use devfs. 2.5.69+bk (just before 2.6.70) things worked fine.
Now, /dev/sda is not being created. Nothing in /dev/scsi/ either, but:

hopper:~# cat /proc/scsi/sbp2/0
Host scsi0 : SBP-2 IEEE-1394 (ohci1394)
Driver version : $Rev: 942 $ Ben Collins <bcollins@debian.org>

Module options :
max_speed : S400
max_sectors : 255
serialize_io : no
exclusive_login : no

Attached devices :
[Channel: 00, Id: 00, Lun: 00] Direct-Access FireWire 1394 Disk Drive

Also, /sys/bus/scsi/devices/0:0:0:0 exists, with a block link to sda.

I suspect this is a problem where scsi_add_device() is not doing all the
stuff it needs to (does anything besides ieee1394 use scsi_add_device
and scsi_remove_device?).

-- 
Debian     - http://www.debian.org/
Linux 1394 - http://www.linux1394.org/
Subversion - http://subversion.tigris.org/
Deqo       - http://www.deqo.com/
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/