[T10] SPC5r20a - 184.108.40.206 - Allocation length confusing.
joe at lingua-data.com
Wed Feb 27 19:51:12 PST 2019
Hello David -
The best way to get your suggestion thoughtfully considered by the committee is to tender a proposal for discussion at the CAP meeting at a Plenary meeting cycle.
Before going to that effort, it may be instructive to scan through the remainder of SPC-5, as well as other foundational SCSI documents, in order to note the number of times that such examples occur.
lingua data, LLC
> On Feb 27, 2019, at 5:31 PM, David F. <davidf at terabyteunlimited.com> wrote:
> Thanks guys, I get it.
> How about text that reads:
> If the amount of information that is available to be transferred exceeds the maximum value that the ALLOCATION LENGTH field (in combination with other fields in the CDB) is capable of specifying, then no data shall be transferred and the command shall be terminated with CHECK CONDITION status, with the sense key set to ILLEGAL REQUEST, and the additional sense code set to INVALID FIELD IN CDB.
> For example, if a target has 300 bytes of mode data to transfer for the MODE SENSE(6) command, which is only capable of specifying 255 for the ALLOCATION LENGTH, then the command shall be terminated with CHECK CONDITION status, with the sense key set to ILLEGAL REQUEST, and the additional sense code set to INVALID FIELD IN CDB.
> Added items in red; parenthesis around “in combination with other fields in the CDB” and the example at the end.
> From: t10-bounces at t10.org [mailto:t10-bounces at t10.org] On Behalf Of Gerry Houlder
> Sent: Wednesday, February 27, 2019 3:40 PM
> To: Kevin D Butt
> Cc: T10 Reflector; t10 at terabyteunlimited.com
> Subject: Re: [T10] SPC5r20a - 220.127.116.11 - Allocation length confusing.
> That wording was intended to cover the case where There are different size commands that can do the same function. For example, MODE SENSE(6) has only a one byte transfer length and MODE SENSE(10) has a two byte transfer length. If a target has 300 bytes of mode data to transfer and the host issues a MODE SENSE(6) command, the command should end with CHECK CONDITION status with the allocation length error. This is supposed to clue the host to use the MODE SENSE(10) command to return the data. If more than FFFFh bytes of mode data was available, a MODE SENSE(10) command should truncate the data (return as much as it can) and it is up to the host to send a different MODE SENSE(10) command that will retrieve a different set of data If the host didn't get the data it wanted.
> On Wed, Feb 27, 2019 at 5:30 PM Kevin D Butt <kdbutt at us.ibm.com <mailto:kdbutt at us.ibm.com>> wrote:
>> The key is to pay attention to the words, "exceeds the maximum value that the ALLOCATION LENGTH field in combination with other fields in the CDB is capable of specifying". This is not talking about what value is in the allocation length field, but the maximum value that could be specified. If there is more data to transfer than what can be specified, then return the CHECK CONDITION. e.g., allocation length field is 4 bytes. Information available to be transferred is greater than 2^32 (4294967296), then Check Condition is returned.
>> Kevin D. Butt
>> SCSI Architect, Tape Firmware, Data Retention Infrastructure
>> T10 Standards
>> 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 <mailto:kdbutt at us.ibm.com>
> T10 mailing list
> T10 at t10.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the T10