SAM-3 proposal: ... Data-In and Sense Data sizes
LAVARRE at iomega.com
Thu Oct 31 13:03:27 PST 2002
* From the T10 Reflector (t10 at t10.org), posted by:
* "Pat LaVarre" <LAVARRE at iomega.com>
Perhaps my ignorance here is irreparably vast ... but transports vary in how they express autosense?
Sometimes autosense does goes thru as op x03 RequestSense with a cdb allocationLength: Usb, Atapi, classic Scsi ... though not FireWire. How transparently that allocationLength passes thru from the app varies: some transports set it to a fixed number: the numbers x0E, x12, and xFF are popular when op x12 Inquiry data byte 0 bits x1F = x00 Disk.
Texts such as:
contain such untruths as "Application clients may determine how much sense data has been returned by examining the allocation length parameter in the command descriptor block and the additional sense length in the sense data."
That strategy falls apart when people disregard "Device servers shall not adjust the additional sense length to reflect truncation if the allocation length is less than the sense data available.", also when they go so far as to zero the data byte offset 7 additionalSenseLength altogether.
From: Elliott, Robert (Server Storage) [mailto:Elliott at hp.com]
Sent: Thu 10/31/2002 7:57 AM
To: t10 at t10.org
There's no allocation length communicated to the target
For REQUEST SENSE, there is this rule:
"If the allocation length is eighteen or greater, and a device
server returns less than eighteen bytes of data, the application
client should assume that the bytes not transferred would have
been zeros had the evice server returned those bytes."
* For T10 Reflector information, send a message with
* 'info t10' (no quotes) in the message body to majordomo at t10.org
More information about the T10