When DIF is inserted or stripped, - in the TCP transport layer, we can use LBA based length throughout, but - in the NVMf controller layer and BDEV layer, extended LBA based length must be used, and NVMf controller gets the length from tcp_req->req.length. Hence by adding and using two variables, elba_length and orig_length to struct spdk_nvmf_tcp_req, set the extended LBA length to tcp_req->req.length before calling spdk_nvmf_request_exec(), and then restore the original LBA based length to tcp_req->req.length after calling spdk_nvmf_tcp_req_complete(). Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Change-Id: I9309b8923c6386644c4fd8ef3ee83a19f5d21ce5 Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/458926 Reviewed-by: Ziye Yang <ziye.yang@intel.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> |
||
---|---|---|
.. | ||
ctrlr_bdev.c | ||
ctrlr_discovery.c | ||
ctrlr.c | ||
Makefile | ||
nvmf_fc.h | ||
nvmf_internal.h | ||
nvmf.c | ||
rdma.c | ||
subsystem.c | ||
tcp.c | ||
transport.c | ||
transport.h |