Problem with sd_devname() ?

Richard Gooch (rgooch@atnf.CSIRO.AU)
Sun, 18 Jan 1998 22:45:16 +1100

Hi, all. I've noticed that linux 2.0.33, 2.1.75 and 2.1.79
(i.e. those that I've checked) report all my SCSI discs as being "sda"
in the sd_detect() function in drivers/scsi/sd.c

I think I've traced this to the sd_devname() function which is
right-shifting the disc number before computing the disc name. The
disc number appears to increase by one for each disc, so it looks to
me that the bit-shifting should not be done at all.

Can someone who understands this code check this, please?

Also, could someone please give me a hint to help me work out where I
can relate SCSI disc parameters (i.e. controller,bus,target and LUN)
and partition information?

The sd_detect() function is a convenient place to grab the SCSI disc
info, but the partition table is unknown at that point.

The disk_name() function in driver/block/genhd.c is a convenient place
to get partition information, but I don't see how I can relate back to
the controller,bus,target and LUN information.

I'm trying to unravel the SCSI and genhd layers, but it's slow
going. I'd really appreciate a few tips, thanks.