Hi Sagi,

> 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.

All SCSI transports are supposed to behave the same way.  I hope this
can be corrected quickly.

Thanks,
--David


> -----Original Message-----
> From: Sagi Grimberg [mailto:[email protected]]
> Sent: Sunday, May 25, 2014 11:31 AM
> To: [email protected]; Mike Christie; Nicholas A. Bellinger
> Cc: linux-scsi; target-devel; Oren Duer; [email protected]; Or Gerlitz;
> [email protected]; [email protected]; [email protected]; Black, David
> Subject: iSCSI Expected Data Transfer Length for T10-PI
> 
> Hey All,
> 
> Recently, iSER end-to-end T10-PI support maid it mainline.
> I am wandering about the impact T10-PI should or shouldn't have on iSCSI
> header
> field "Expected Data Transfer Length".
> 
> 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.
> 
> 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).
> 
> So my question is, should this field be updated to explicitly include
> T10-PI bytes like the FC equivalent fc_dl?
> Or should T10-PI bytes be implicit?
> 
> I want to pin down this one to avoid a situation where the standard is
> open for interpretations.
> 
> Thanks,
> Sagi.

--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to