On Tue, Aug 23, 2005 at 08:02:39PM -0400, Luben Tuikov wrote: > In effect FC tells SCSI Core: here is a device I do not know anything > about, other than the fact that it is on the fabric and it has > a SCSI Target (or Initiator) Port: how you get to is is _my_ business, > what is done with or to the device is _your_ business. > > Then SCSI Core does LU discovery using SPC and SAM on the device > using Execute Task. > > All this _completely_ eliminates the need for HCIL. > > How the FC layer identifies the device is the FC's layer problem. > How SCSI Core identifies the device is SCSI Core's problem. > > HCIL should have never been available to SCSI Core in the first place, > but then again SAM didn't exist back then. Ok, Luben, here's the TODO list to get there: (1) add a sdev_printk that takes a struct scsi_device * and prints a sensible name for it. Later we might or might not make this a transport hook, but for now it gets rid of all these ->id references in LLDDs (2) add a variant of scsi_scan_target that takes a scsi_target * to scan, make the old scsi_scan_target a wrapper around it and introduce similar wrappers for transport-specific target identifiers (e.g. WWNs for FC and SAS) (3) fix a bunch of internal functions that use ->id despite not actually needing it, e.g. starget_for_each_device (4) eventually move the traditional scsi_scan_target and other functions that lookup a scsi_target based on ->id into the spi transport class (5) add an SPI-specific taget ID accessor and move all drivers over to it - : 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