On 5/27/2014 2:58 PM, Black, David wrote:
Hi Sagi,
Hey David,
RFC-7143 states:
"the Expected Data Transfer Length field contains the number of bytes of
data involved in this SCSI operation."
Since this field relates to *data bytes* I kept T10-PI implicit wrt this
field. The iSCSI target calculates the
total transfer length (data + protection) from the cdb transfer length
field and protect bits.
That is wrong. At the SCSI transport interface (both iSCSI and FCP are
SCSI transports), the concept of "data bytes" includes SCSI protection
information.
In FC, the fc_dl field was updated to relate to the total number of
transfer bytes and includes
data and protection bytes. virtio_scsi was added with a header PI
section (virtio_scsi_cmd_req_pi).
That is the correct approach.
At the SCSI transport interface (both FCP and iSCSI are SCSI transports),
no distinction is made between user data and protection information.
therefore, a transfer of 512 bytes of user data + 8 bytes of protection
information is a 520 byte transfer for both protocols.
The authority for this is SAM-5, or SAM-4 if one wants to refer to an
approved standard. Neither are open to interpretation on this point.
I see, thanks for clarifying this for me.
All SCSI transports are supposed to behave the same way. I hope this
can be corrected quickly.
No problem, I'll fix it.
Sagi.
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html