Spdk/test/unit/lib
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
..
bdev ut/compress: misc unit test fixes 2019-07-05 11:56:03 +00:00
blob blobstore: Cleanup after power failure while creating snapshot 2019-06-26 08:00:14 +00:00
blobfs UT/blobfs: add asynchronous Writev/Readv unit tests 2019-06-28 09:50:50 +00:00
event event: No longer require event in spdk_subsystem_fini 2019-03-08 03:21:45 +00:00
ftl lib/ftl: Drop relocation for empty bands immediately 2019-07-01 03:29:00 +00:00
ioat test/unit: remove duplicate mk/spdk.common.mk includes 2019-02-11 09:30:27 +00:00
iscsi iscsi: Assign not pointer but instance of spdk_cpuset in struct spdk_iscsi_portal_grp 2019-07-04 00:30:22 +00:00
json json: add utilities function enabling itaration over JSON object 2018-10-18 16:07:37 +00:00
jsonrpc jsonrpc: fix received JSON buffer overwrite 2019-01-10 14:31:37 +00:00
log log: passing user-defined log 2019-06-18 03:56:50 +00:00
lvol ut/lvol: fixed scan-build error on spdk_bs_init 2019-07-01 13:08:33 +00:00
notify lib/notify: rename spdk_notify_get_events to spdk_notify_foreach_event 2019-05-07 06:11:27 +00:00
nvme nvme/tcp: Support unaligned extended LBA payload in nvme_tcp_pdu_set_data_buf 2019-07-08 03:33:07 +00:00
nvmf test/ctrlr_ut: fix a warning of ctrlr_ut garbage value 2019-07-05 12:13:03 +00:00
reduce ut/reduce: use compress algorithm 2019-04-02 21:40:21 +00:00
scsi scsi_bdev_ut: add SPDK_CU_ASSERT_FATAL before put task. 2019-06-27 12:09:56 +00:00
sock sock: update spdk_sock_group_add_sock 2019-07-04 08:21:05 +00:00
thread thread: Add a mechanism to exit a lightweight thread 2019-05-22 04:23:17 +00:00
util test/dif_ut: fix a warning of iov_base garbage value 2019-06-28 12:26:51 +00:00
vhost vhost: operate on poll groups instead of lcores 2019-07-01 12:50:57 +00:00
json_mock.c subsystem: add per module configuration dump 2018-03-23 02:47:40 -04:00
Makefile bdev/nvme: always enable FTL 2019-05-02 08:41:56 +00:00