Bi-Directional Commands.

Elliott, Robert Robert.Elliott at
Wed Jan 17 21:06:33 PST 2001

* From the T10 Reflector (t10 at, posted by:
* "Elliott, Robert" <Robert.Elliott at>
The write and read counts may be different.  An object-oriented CreateFile
command, for example, will likely send lots of write data but only return a
small amount of read data.

There is one status code for each bidirectional command.  It's up to the
command description to choose error codes that identify whether errors
happened while reading or writing.

The FCP-2 annex implements separate residual fields for each direction in
case the error involved overflow or underflow of the data length in the
command IU.  Not all protocols use a data length field like that and have
residual counts.

-----Original Message-----
From: Santosh Rao [mailto:santoshr at]
Sent: Tuesday, January 16, 2001 6:49 PM
To: T10 Reflector
Subject: Bi-Directional Commands.


I have a question regarding the new BI-DI commands and its related
changes that were proposed to SAM-2, SBC-2 (XDWRITEREAD), and the SPI-4,
FCP-3 and iSCSI SCSI Transport protocols.

Was the BI-DI type of operation only intended to be used in a XOR type
I/O (ex: XDWRITEREAD) like a READ-WRITE or WRITE-READ of the same (LBA,
count) ? i.e. Is there an inherent assumption that BI-DI operations will
always result in a single SCSI Status and SCSI Sense for the entire
operation, as opposed to potential individual SCSI Status or Sense for
either the inbound or outbound operation.

Is there a possibility that different SCSI Status or Sense may need to
be returned for the outbound or the inbound portion of the BI-DI
operation rather than the current single status/sense model used in
Response IUs/PDUs ?

Are there any indications that a returned Status or Sense refer to the
outbound or the inbound portion of the exchange ?

Santosh Rao

* 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