On Thu, May 18, 2006 at 01:09:57PM -0700, Patrick Mansfield wrote: > Funky how loading sd after sg changes the output ... and using the driver > name as a prefix sometimes messes this up for scsi. > > i.e. scan without sd_mod or sg loaded (and distro I'm using loads sg > before sd_mod via udev rules): > > 0:0:0:0: Attached scsi generic sg0 type 0 > 0:0:0:1: Attached scsi generic sg1 type 0 > > Then remove/add those devices, and sg lines become: > > sd 1:0:0:0: Attached scsi generic sg0 type 0 > sd 1:0:0:1: Attached scsi generic sg1 type 0 I find that a bit confusing too. Obviously, we should distinguish different kinds of bus_id from each other somehow -- but isn't the obvious thing to use the bus name? That must already be unique as sysfs relies on it. ie this patch: (seems that dev->bus isn't always set; I got a null ptr dereference when booting without that check). Signed-off-by: Matthew Wilcox <matthew@xxxxxx> Index: include/linux/device.h =================================================================== RCS file: /var/cvs/linux-2.6/include/linux/device.h,v retrieving revision 1.25 diff -u -p -r1.25 device.h --- include/linux/device.h 13 May 2006 04:12:30 -0000 1.25 +++ include/linux/device.h 19 May 2006 19:54:04 -0000 @@ -412,7 +412,7 @@ extern void firmware_unregister(struct s /* debugging and troubleshooting/diagnostic helpers. */ #define dev_printk(level, dev, format, arg...) \ - printk(level "%s %s: " format , (dev)->driver ? (dev)->driver->name : "" , (dev)->bus_id , ## arg) + printk(level "%s %s: " format , (dev)->bus ? (dev)->bus->name : "", (dev)->bus_id , ## arg) #ifdef DEBUG #define dev_dbg(dev, format, arg...) \ - : 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