Wish I could provide an answer, but all I can do is
pose two more follow-on questions:
I notice that while the REPORTING OPTIONS field (lower
3 bits of byte-2 in the REPORT SUPPORTED OPERATION CODES command) is a 3-bit
field, the there are only 3 code values defined for this field (000b, 001b, and
010b - bit-2 is always zero), with code values 011b - 111b reserved. The rules
say,
"If the device server evaluates a bit in the CDB for
the command being queried, the usage map shall contain a one in the
corresponding bit position. If any bit representing part of a field is
returned as one, all bits for the field shall be returned as one. If the
device server ignores or treats as reserved a bit in the CDB for the command
being queried, the usage map shall contain a zero in the corresponding bit
position."
The first sentence says report three bits worth of "1". If one could interpret the fact that the reserved code values cover all the values where the high-order bit is set to 1, that the high order bit is therefore reserved, then the rule in the second sentence might lead to setting only the lower-order two bits to "1", and the high-order bit to zero. But I don't think that's the intent, so I think you are correct, 7h is correct.
The other more interesting question is why
isn't byte-2 equal to 87h (rather than 07h). Does this mean that the device
server in the example treats the RCTD bit as reserved? Are device servers that
support the REPORT SUPPORTED OPERATION CODES command required to support an RCTD
bit set to one? If not, then presumably the device server could report either
07h or 87h in byte-2 of the CDB usage map for the REPORT SUPOPRTED OPERATION
CODES CDB.
Either way - looks like something to fix
in SPC-4.
Bob
Sheffield
* From the T10 Reflector (t10@t10.org), posted by: * "Pat LaVarre"
*
Spc4r08.pdf at p.231 discusses "REPORT SUPPORTED OPERATION
CODES". It has an example CDB usage map that labeled as "the" CDB usage
map of "REPORT SUPPORTED OPERATION CODES".
A3h, 0Ch, 03h, FFh, FFh, FFh,
FFh, FFh, FFh, FFh, 00h, 07h is the example.
A3h, 0Ch, 07h, FFh, FFh,
FFh, FFh, FFh, FFh, FFh, 00h, 07h is what I expected at first glance, since the
REPORTING OPTION codes go in the three lsb's of byte 2 of the Cdb, and my mask
07h rather than the Pdf's 03h in byte 2 would be a mask of three lsb's rather
than two lsb's.
Is 07h rather than 03h in byte 2 yes obviously what we
meant to type, or have I misunderstood, or is something interesting happening
here?
Curiously yours,
* * For T10 Reflector information,
send a message with * 'info t10' (no quotes) in the message body to
majordomo@t10.org