Eddy,

For consistency, the cited OSD-2 4.16.1 text needs to be modified
to provide the same exceptions as the text after table 24 in SPC-4.

SPC-3 needs to change to SPC-4, and there may be some other minor editorial
nits, but ...

The entire Deferred Error gambit is a red herring.

None of the text after SPC-4 table 24 applies to Deferred Errors.
ASC 29h is POWER ON, RESET, OR BUS DEVICE RESET OCCURRED. The second
item listed after table 24 is MODE PARAMETERS CHANGED. Furthermore,
I doubt that T10 will approve adding more special cases to this list.

OSD-2 can (and shall) report Deferred Errors in the descriptor format.

OSD-2 devices should reject all REQUEST SENSE commands with the DESC
bit set to zero. The response to a REQUEST SENSE command with DESC set
to one should be descriptor format sense data ... unless otherwise
specified. This may reflect a problem in SPC-4 r16 table 250, but
that problem is an SPC-4 issue, not an OSD-2 issue.

All the best,

.Ralph

Eddy Quicksall wrote:
Paragraph 4.16.1 of osd2r04 says "OSD logical units shall use descriptor format sense data (see SPC-3) to report all errors".
 
From SPC4r16, DESC == 0 means "The device server shall return fixed format sense data (see
4.5.3) in the parameter data."
 
If the initiator issues a request sense but sets DESC to 0 then should the target report ILLEGAL REQUEST / INVALID FIELD IN CDB? (note that there could be a Deferred Error to report).
 
Also the sentence following Table 24 of spc4r16 says "The RESPONSE CODE field shall be set to 70h in all unit attention condition sense data in which (a) the ADDITIONAL SENSE CODE field is set to 29h or ..." but since it is OSD then there is a conflict.
 
Eddy