Spdk/test
Shuhei Matsumoto a7a32ea052 nvme/tcp: Support unaligned extended LBA payload in nvme_tcp_pdu_set_data_buf
When DIF is inserted or stripped, nvme_tcp_pdu_set_data_buf must
shift the range of the buffer from LBA based to extended LBA based
because the extended LBA based range must be passed to create a special
temporary iovec array to leave a space of metadata for each block then.

This patch do the following:
- Add a pointer to the current DIF context to struct nvme_tcp_pdu.
  This pointer is set when DIF is inserted or stripped to the current
  NVMf request.
- When the pointer to the current DIF context in the PDU is set, get
  the extended LBA based offset and length by calling
  spdk_dif_get_range_with_md() and use them in nvme_tcp_pdu_set_data_buf().
- Original data length is set in the PDU and original data offset is
  set in the current DIF context in nvme_tcp_pdu_set_data_buf().
- Add UT code.

Change-Id: Ic1f4fd326b5b3e3d4c74677592bda34d6949a11e
Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/458920
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
2019-07-08 03:33:07 +00:00
..
app app/bdev_svc: Optional VMD enumeration 2019-07-01 03:53:06 +00:00
bdev test/bdevperf: switch to spdk_*malloc(). 2019-07-05 03:48:51 +00:00
blobfs test/rocksdb: remove run_tests.sh 2019-07-05 12:13:16 +00:00
blobstore test: remove duplicated set -ex from tests 2019-06-19 03:54:58 +00:00
common scripts: replace egrep with grep -E 2019-07-05 12:06:10 +00:00
config_converter iscsi: Deprecate MinConnectionsPerCore 2019-05-06 17:10:48 +00:00
cpp_headers Makefile: Add possibility to uninstall spdk. 2019-05-16 20:56:18 +00:00
env test/vtophys: switch to spdk_*malloc(). 2019-07-05 03:48:51 +00:00
event notify: add notification library 2019-03-29 21:15:14 +00:00
ftl lib/ftl: Expand restore tests 2019-06-26 07:09:00 +00:00
ioat test: remove duplicated set -ex from tests 2019-06-19 03:54:58 +00:00
iscsi_tgt scripts: replace egrep with grep -E 2019-07-05 12:06:10 +00:00
json_config scripts: replace egrep with grep -E 2019-07-05 12:06:10 +00:00
lvol test: remove duplicated set -ex from tests 2019-06-19 03:54:58 +00:00
nvme test/nvme/overhead: switch to spdk_*malloc(). 2019-07-05 03:48:51 +00:00
nvmf test/nvmf: make modprobe calls symmetric. 2019-07-05 09:06:48 +00:00
ocf test/ocf: disable persistent metadata test 2019-06-11 18:16:55 +00:00
pmem test/pmem: cleanup common.sh 2019-06-19 03:54:58 +00:00
rpc_client test: remove duplicated set -ex from tests 2019-06-19 03:54:58 +00:00
spdkcli test/spdkcli: cleanup common.sh 2019-06-19 03:54:58 +00:00
unit nvme/tcp: Support unaligned extended LBA payload in nvme_tcp_pdu_set_data_buf 2019-07-08 03:33:07 +00:00
vhost scripts: replace backticsk with dollar-parenthesis syntax 2019-07-05 12:06:10 +00:00
Makefile jsonrpc-client: add new C client library 2018-10-11 20:07:44 +00:00
spdk_cunit.h test: remove leftover spdk_cunit declaration 2018-07-06 22:47:56 +00:00