SAS (SPL) and ADT transport issues with TMF's

Kevin D Butt kdbutt at us.ibm.com
Wed Jul 2 14:21:09 PDT 2014


Formatted message: <a href="http://www.t10.org/cgi-bin/ac.pl?t=r&f=r1407024_f.htm">HTML-formatted message</a>

George,
Assume the host send an INQUIRY to an invalid LUN
The command frame gets corrupted in flight such that the device does not 
send an ACK or NAK (i.e., drops sof)
    Don't know if the command arrived or not.
The host sends Query Task as stated in SPL3r06g 8.2.4.2 COMMAND frame - 
handling of link layer errors, second paragraph
The device rejects Query Task for invalid LUN.
The host is unable to tell whether the device received the INQUIRY or not. 
Thanks,
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
http://www-03.ibm.com/servers/storage/ 
From:	George Penokie <george.penokie at avagotech.com>
To:	Kevin D Butt/Tucson/IBM at IBMUS
Cc:	Reflector T10 <t10 at t10.org>
Date:	07/02/2014 06:21 AM
Subject:	Re: SAS (SPL) and ADT transport issues with TMF's
Kevin,
I see no real problem so I'm not sure what your point is. There are only 
two TMFs that operate on an individual command (ABORT TASK and QUERY 
TASK). Also, there is no queuing defined for the task router that is 
handling the commands that do not have valid LUNs so those commands do not 
sit around. They should to be processed immediately. By the time either of 
those TMFs could be issued and handled the command should have ended.
Bye for now, 
George Penokie 
Avago Technologies
3033 41 St NW
Rochester , MN 55901 
507-328-9017
george.penokie at avagotech.com
On Tue, Jul 1, 2014 at 6:42 PM, Kevin D Butt <kdbutt at us.ibm.com> wrote:
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
http://www-03.ibm.com/servers/storage/ 



More information about the T10 mailing list