+5
−0
+88
−8
+3
−0
Loading
This patch leaves metadata space in data buffer for read or write I/O to generate and verify DIF. For write I/O, - in spdk_iscsi_read_pdu(), leave metadata space for every block by calling spdk_dif_set_md_interleave_iovs() and then spdk_iscsi_conn_readv_data(), and remember this in PDU. - in spdk_iscsi_op_scsi() and spdk_iscsi_op_data(), set not data length but buffer length to length of an iovec. The reason is that the actual data length sent to SCSI layer will be larger than the data length set in PDU. SCSI task holds data length as an independent member and this change doesn't loose any information. For read I/O, in spdk_iscsi_build_iovs(), leave metadata space for every block by calling spdk_dif_set_md_interleave_iovs(). The reason why DIF context is saved in PDU is that DIF verification will be done in spdk_iscsi_conn_write_pdu() and DIF context will be used there first. Change-Id: Iac5739211f26a91b00a4ecf2f306bbecec3d78dd Signed-off-by:Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/446382 Tested-by:
SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by:
Changpeng Liu <changpeng.liu@intel.com> Reviewed-by:
Jim Harris <james.r.harris@intel.com>