Report Supported Operation Codes

Gerry.Houlder at Gerry.Houlder at
Wed Feb 27 09:05:26 PST 2008

* From the T10 Reflector (t10 at, posted by:
* Gerry.Houlder at
My answers added in-line.
	     "Eddy Quicksall"						   
	     <Quicksall_SCSI at b						>						To 
	     Sent by:		       <t10 at>			   
	     owner-t10 at						cc 
	     No Phone Info						   
	     Available						   Subject 
				       Report Supported Operation Codes    
	     02/27/2008 08:20						   
For Report Supported Operation Codes (spc4r12): The Reporting Options ==
010b in Table 187 requests an OpCode and a Service Action. The table says
to what to do if the CDB does not have service actions but it does not say
what to do if the service action is not supported or invalid.
Looking at Table 191 there is a SUPPORT value of 001b that means the device
server does not support the requested command.
1) By "supported command" in Table 191, does that include the service
GAH: Yes, for commands with service actions this means the operation code/
service action combination.
2) If not, should an unsupported service action always return a Check
Condition/Invalid Field in CDB?
GAH: No, the intent is the Check Condition is only returned if there is
something illegal about the way you are requesting the information.
3) If not always, should only the service actions not listed in the
appropriate standard return the Check Condition?
GAH: No, these service actions should return data saying the command/
service action is unsupported.
For example, suppose you have this command, what should the response be
(SA=0 but A3 requires a SA):
a3 0c 82 a3 00 00 00 00 02 00 00 00
GAH: This command should result in returned data indicating support (or
not) for operation code A3 service action 0 and ending with GOOD status.
Your allocation length of 0x200 should be more than enough for one
command's worth of returned data. Of course, if the target doesn't support
the RCTD bit (byte 2 bit 7) you could get Check Condition/ Illegal Request
with pointers in the sense data pointing to that bit in the CDB. Try
resending with that bit set to zero.
* For T10 Reflector information, send a message with
* 'info t10' (no quotes) in the message body to majordomo at

More information about the T10 mailing list