Spdk/lib
Shuhei Matsumoto d69dc28b00 dif: Separate _dif_verify_split into three parts
For NVMe/TCP target, data segments which correspond to H2C or C2H PDU
will have any alignment, and _dif_verify_split will have to process
partial data block, particularly the following types:
- start and end are both within a data block.
- start is within a data block, and end is at the end of a block

On the other hand, _dif_verify_split had assumed that passed block
is always a complete block.

To process the above types, separating guard computation, DIF copy
and skipping metadata field, and  DIF verification into three parts
will be helpful and is done in this patch.

Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Change-Id: Ic4f1765e01507efa812dfaf7a8018666c6346f8e
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/458328
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>
2019-06-27 00:36:25 +00:00
..
bdev bdev/compress: add RPC to specify PMD 2019-06-26 07:57:09 +00:00
blob blobstore: Cleanup after power failure while creating snapshot 2019-06-26 08:00:14 +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 lib/env_dpdk: Allow iterating over all detected PCI devices 2019-06-26 08:24:02 +00:00
event nvmf/tcp: Use the success optimization by default 2019-06-26 06:24:03 +00:00
ftl lib/ftl: error logging around getting chunk info 2019-06-26 14:21:52 +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 lib/jsonrpc: Fix memory leaks about connection request. 2019-06-26 06:26:50 +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/tcp: Use the success optimization by default 2019-06-26 06:24:03 +00:00
reduce reduce: check pmem buf before unmap 2019-06-25 13:39:09 +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: Separate _dif_verify_split into three parts 2019-06-27 00:36:25 +00:00
vhost lib/vhost: Fix unaligned pointer value error 2019-06-17 07:18:48 +00:00
virtio lib/virtio: change the definition of cookie 2019-06-26 08:03:37 +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