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