SAM-3 proposal: ... Data-In and Sense Data sizes

Pat LaVarre LAVARRE at
Thu Oct 31 13:03:27 PST 2002

* From the T10 Reflector (t10 at, posted by:
* "Pat LaVarre" <LAVARRE at>
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[4] 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.
Pat LaVarre

	-----Original Message----- 
	From: Elliott, Robert (Server Storage) [mailto:Elliott at] 
	Sent: Thu 10/31/2002 7:57 AM 
	To: t10 at 
	There's no allocation length communicated to the target
	in autosense. 
	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

More information about the T10 mailing list