Spdk/lib
Shuhei Matsumoto 1750a0859b dif: Process unaligned end of data buffer in spdk_dif_generate_stream()
NVMe/TCP target may split a whole data payload into multiple H2C
or C2H PDUs with any alignment. Hence to insert or strip DIF correctly
to the split H2C or C2H PDUs, we have to bring the interim guard
value of the last partial data block of the current H2C or C2H
PDU to the first partial data block of the next H2C or C2H PDU.

So we add last_guard to struct spdk_dif_ctx and use it in
spdk_dif_generate_stream().

API spdk_dif_generate_stream() is not changed and UT code should
pass without any change.

Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Change-Id: I12636c5ac7f619483402538faff4339a16c0e6b0
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/457545
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
2019-06-24 07:02:07 +00:00
..
bdev bdev: split requests first if the request has data buffer 2019-06-24 04:51:46 +00:00
blob blobstore: Fix error path for snapshot creation 2019-06-19 08:39:00 +00:00
blobfs blobfs: fix the semphore usage issue in spdk_file_read 2019-05-30 17:56:16 +00:00
conf string: spdk_strtol to delegate additional error checking 2019-01-29 00:10:57 +00:00
copy misc/rpc: rename some C functions of rpc methods 2019-05-07 05:30:16 +00:00
env_dpdk env: added spdk_mempool_obj_iter 2019-06-07 04:39:14 +00:00
event log: passing user-defined log 2019-06-18 03:56:50 +00:00
ftl lib/ftl: fix the unclear PAGE_SIZE 2019-06-11 18:12:27 +00:00
ioat ioat: allocate device struct using regular calloc 2019-04-09 06:30:42 +00:00
iscsi iscsi: Fix the bug to add wrong size in _iscsi_sgl_append_with_md 2019-06-19 07:38:46 +00:00
json json_util: fix typo in debug message. 2019-05-31 14:39:53 +00:00
jsonrpc jsonrpc: Use spdk_json_write_named_* APIs throughout 2019-02-04 07:08:04 +00:00
log log: passing user-defined log 2019-06-18 03:56:50 +00:00
lvol lvol: Fix for lvol failed deletion flow 2019-04-02 19:23:22 +00:00
nbd nbd: optional nbd_device in start_nbd_disk 2019-04-04 08:35:50 +00:00
net net: Use spdk_json_write_named_* APIs throughout 2019-02-04 07:08:04 +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: fix the endless loop of aborting trackers 2019-06-21 08:34:41 +00:00
nvmf nvmf: Fix connect command SQ size validation for IO queues 2019-06-18 11:39:29 +00:00
reduce lib/reduce: use helper function to get correct length of logical map 2019-06-18 04:06:41 +00:00
rocksdb rocksdb: cleanup SpdkInitializeThread/SpdkFinalizeThread 2019-05-02 09:00:43 +00:00
rpc rpc: rename RPC get_rpc_methods to rpc_get_methods 2019-05-27 12:52:53 +00:00
scsi scsi: Add data offset to DIF context separately from start block address 2019-06-11 18:53:58 +00:00
sock sock: fix a uninitialized-variable error 2019-05-08 21:24:13 +00:00
thread env: Add free_space parameter to spdk_ring_enqueue 2019-06-05 05:23:58 +00:00
trace trace: print error message if event name is too long 2019-05-02 08:41:56 +00:00
ut_mock thread: Eliminate use of pthread_self and thread_ids 2019-01-15 16:53:12 +00:00
util dif: Process unaligned end of data buffer in spdk_dif_generate_stream() 2019-06-24 07:02:07 +00:00
vhost lib/vhost: Fix unaligned pointer value error 2019-06-17 07:18:48 +00:00
virtio virtio: zero-out virtqueue structures at init 2019-04-22 16:49:39 +00:00
vmd lib/vmd: Hooking devices behind VMD endpoint to PCI subsystem 2019-06-11 04:35:31 +00:00
Makefile vmd: Initial SPDK VMD baseline code 2019-05-30 17:32:43 +00:00