SAS (SPL) and ADT transport issues with TMF's
Kevin D Butt
kdbutt at us.ibm.com
Tue Jul 1 16:42:22 PDT 2014
Formatted message: <a href="http://www.t10.org/cgi-bin/ac.pl?t=r&f=r1407010_f.htm">HTML-formatted message</a>
My engineers have uncovered what we believe is a bug in the standards
related to task management functions addressed to a logical unit that does
not exist.
In SPL-3 and ADT-2 the task management function IU's reject TMF's
addressed to a logical unit that does not exist. However, the SCSI
command IU refers to SAM which says process REQUEST SENSE, REPORT LUNS, or
INQUIRY and reject the rest. These leaves a hole when a TMF needs to be
performed on a REQUEST SENSE, REPORT LUNS, or INQUIRY with no way to do
so.
In SPL-3
8.2.2.1 COMMAND frame - Command information unit
The LOGICAL UNIT NUMBER field specifies the logical unit number of the
logical unit to which the task router shall route the command. The
structure of the LOGICAL UNIT NUMBER field shall be as defined in SAM-5.
<<If the addressed logical unit does not exist, then the task router shall
follow the rules for selection of incorrect logical units defined in
SAM-5.>>
8.2.2.2 TASK frame - Task Management Function information unit
The LOGICAL UNIT NUMBER field specifies the logical unit number of the
logical unit, if any, to which the task router shall route the task
management function. The structure of the LOGICAL UNIT NUMBER field shall
be as defined in SAM-5. <<If the addressed logical unit does not exist,
then the task router shall return a RESPONSE frame with the DATAPRES field
set to RESPONSE_DATA and its RESPONSE CODE field set to INCORRECT LOGICAL
UNIT NUMBER.>>
In ADT-2
8.1.2 SCSI Command information unit
The LUN field indicates the logical unit number to which the command shall
be routed within the SCSI target device. <<If the addressed logical unit
does not exist, the task manager shall follow the rules for selection of
invalid logical units defined in SAM-4.>>
8.1.3 SCSI Task Management information unit
The LOGICAL UNIT NUMBER field contains the address of the logical unit.
The structure of the logical unit number field shall be as defined in
SAM-4. <<If the addressed logical unit does not exist, the task manager
shall return a SCSI Response IU with its RESPONSE CODE field set to
INVALID LOGICAL UNIT NUMBER IN SCSI TASK MANAGEMENT IU.>>
SAM-5
5.11 Incorrect logical unit numbers for commands
The SCSI target device's processing of an incorrect logical unit number
(see 4.7.1) is described in this subclause.
In response to a REQUEST SENSE command, a REPORT LUNS command, or an
INQUIRY command the SCSI target device shall respond as defined in SPC-4.
Any command except REQUEST SENSE, REPORT LUNS, or INQUIRY:
e) shall be terminated with CHECK CONDITION status, with the sense key set
to ILLEGAL REQUEST, and with the additional sense code set to LOGICAL UNIT
NOT SUPPORTED, if:
A) the SCSI target device is not capable of supporting the logical unit
(e.g., some SCSI target devices support only one peripheral device); or
B) the SCSI target device supports the logical unit, but the peripheral
device is not currently connected to the SCSI target device;
or
f) is responded to in a vendor specific manner, if:
A) the SCSI target device supports the logical unit and the peripheral
device is connected, but the peripheral device is not operational; or
B) the SCSI target device supports the logical unit but is incapable of
determining if the peripheral device is connected or is not operational
because the peripheral device is not ready.
Does anybody disagree?
Kevin D. Butt
SCSI Architect, Tape Firmware, T10 Standards
Data Protection & Retention
MS 6TYA, 9000 S. Rita Rd., Tucson, AZ 85744
Tel: 520-799-5280
Fax: 520-799-2723 (T/L:321)
Email address: kdbutt at us.ibm.com
More information about the T10
mailing list