Spdk/lib/util
Shuhei Matsumoto 73204fe2e5 dif: Add data offset to DIF context separately from start block address
Data offset are intended to correspond to DATAO in NVMe/TCP and
Buffer Offset in iSCSI.

Previously for iSCSI, buffer offset had been merged to start block
address, but passing buffer offset separately from start block address
clarifies the logic more.

On the other hand, for NVMe/TCP, passing DATAO separately from start
block address will be critically important because DATAO will bave any
alignment and will be necessary to use for not only reference tag
but also guard computation.

This patch adds data_offset to struct spdk_dif_ctx and adds it to the
parameters of spdk_dif_ctx_init(). ref_tag_offset is also added to struct
spdk_dif_ctx and it is computed by dividing data_offset by data_block_size
and is used to compute reference tag.

The next patch will use this change when getting DIF context in SCSI.

Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Change-Id: Id0e12ca9b1dc75d0589787520feb0c2ee0f844a5
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/457540
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
2019-06-11 18:53:58 +00:00
..
base64.c util/base64: add base64 lib and unit tests 2018-07-19 00:50:54 +00:00
bit_array.c util/bit_array: switch to spdk_*malloc(). 2019-04-09 06:30:42 +00:00
cpuset.c util/cpuset: use dst & src parameter names 2019-05-23 07:00:34 +00:00
crc16.c util: fix crc16 build 2019-03-11 01:41:35 +00:00
crc32_ieee.c util: add CRC32 utility functions 2017-08-02 19:47:35 -04:00
crc32.c Update spdk crc32.c with ARM CRC32 intrinsics 2019-01-29 18:23:01 +00:00
crc32c.c util: Move architecture detection to crc32c.c 2019-02-04 19:14:22 +00:00
dif.c dif: Add data offset to DIF context separately from start block address 2019-06-11 18:53:58 +00:00
fd.c util/fd: drop fallback from spdk_fd_get_blocklen() 2017-08-11 19:36:30 -04:00
file.c util: add a new file operation API 2019-05-15 18:54:27 +00:00
Makefile util: add a new file operation API 2019-05-15 18:54:27 +00:00
strerror_tls.c util: add spdk_strerror() wrapper with TLS support 2018-01-04 15:00:09 -05:00
string.c util/string: additional errno check after strtol() 2019-01-29 14:57:16 +00:00
uuid.c util/uuid: add a new uuid copy API. 2018-12-06 22:25:09 +00:00