On Mon, Apr 27, 2009 at 1:27 AM, James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> wrote: > On Mon, 2009-04-27 at 00:04 +0800, 谢纲 wrote: >> In kernel 2.6.16, I find that there is no scsi_scan_host in >> qla2xxx_probe_one. So how does the qla driver scan the scsi device? > > scsi_scan_host() is only really for non hotplug busses that need a fixed > id scan. > > Hotplug buses use scsi_scan_target() instead when the device appears on > the bus. Most do this (like fc) from the target port appearance via the > allied transport class. I got it. Thanks very much. qla calls qla2x00_update_fcport to update the fc port. This will triger the scan of the target. fc_scsi_scan_rport will be called in the work queue of the scsi host. It scans the target with scsi_scan_target. So, it's actually the scsi_wq_x thread who does the scan works. These worker threads contend for the sd name. I changed the qlogic hba to emulex. It's very strange that the sd names were generated orderly. It looks like that there is no contention among the worker threads when scan the target. > > James > > > -- Xie Gang -- 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