[T10] SPC5r20a - 4.2.5.6 - Allocation length confusing.

t10 at terabyteunlimited.com t10 at terabyteunlimited.com
Wed Feb 27 15:03:29 PST 2019


Hello,

 

 

If you read the section in the 3rd paragraph it says to transfer bytes until
ALLOCATION LENGTH field has been transferred (so truncation can occur and
size needed report).  Yet, the last paragraph says if what you have to
transfer is more bytes than ALLOCATION LENGTH then don't transfer anything
and report an error.   So which is it?  REPORT LUNS for example.

 

 

4.2.5.6 Allocation length

The ALLOCATION LENGTH field specifies the maximum number of bytes or blocks
that an application client has allocated in the Data-In Buffer. The
ALLOCATION LENGTH field specifies bytes unless a different requirement is
stated in the command definition.

An allocation length of zero specifies that no data shall be transferred.
This condition shall not be considered an error.

The device server shall terminate transfers to the Data-In Buffer when the
number of bytes or blocks specified by the ALLOCATION LENGTH field have been
transferred or when all available data have been transferred, whichever is
less. The allocation length is used to limit the maximum amount of variable
length data (e.g., mode data, log data, diagnostic data) returned to an
application client. If the information being transferred to the Data-In
Buffer includes fields containing counts of the number of bytes in some or
all of the data (e.g., aPARAMETER DATA LENGTH field, a PAGE LENGTH field, a
DESCRIPTOR LENGTH field, an AVAILABLE DATA field), then the contents of
these fields shall not be altered to reflect the truncation, if any, that
results from an insufficient ALLOCATION LENGTH value, unless the standard
that describes the Data-In Buffer format states otherwise.

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.

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.t10.org/pipermail/t10/attachments/20190227/1154dc1f/attachment.html>


More information about the T10 mailing list