Luben Tuikov wrote:
On 08/26/05 13:22, James Bottomley wrote:
On Fri, 2005-08-26 at 12:43 -0400, Luben Tuikov wrote:
A move away from forced HCIL addressing would be a good thing.
However, its impossible to completely move away from addressing, as
userspace and the SCSI core need ways to route CDBs to devices based on
address.
They can use _anyone_ label in the label list of the LU.
I think what Jeff means is that the mid-layer needs to know which LLD to
send the CDB to.
No, I thought he meant about user space apps, *NOT* SCSI Core.
Since, the transport found the device on the domain (NOT LU!)
it then calls SCSI Core to register it.
So you have:
task->scsi_domain_device->lldd->lldd_execute_task(task).
This is the routing information (and is really just
the host number).
No host numbers, no routing information. This is all
transparent to SCSI Core, and NONE of its business.
Routing is an essential part of the SCSI core's duties.
The SCSI core is the resource manager responsible for routing messages
[CDBs] to/from LLDs based on <scsi-specific device address>. This
includes resolution of kernel-specific identifiers (device major/minor,
etc.) into <s.s.d.a.>. This also includes direct use of
userspace-provided identifiers as <s.s.d.a.>, such as via SG_IO ioctl.
Moving away from HCIL requires a lot of thought, including thinking
about userland app breakage -- a big deal in Linux.
Ask yourself where all these HCIL-addressed CDBs come from... each one
of those CDB submittors must be updated from HCIL addressing/routing to
transport-specific.
Jeff
-
: 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