numam-spdk/test/unit/lib/nvmf
Alexey Marchuk 1bc5710a9e rdma: Add DIF support for write operation
Update transaction length wrt to medata size
Change buffers handling in the case of enabled DIF - add function nvmf_rdma_fill_buffer_with_md_interleave to split SGL into several parts with metadata blocks between them in order to perform RDMA operation with appropriate offsets
Add DIF generation before executing bdev IO operation
Add parsing of DifInsertOrStrip config parameter.
Since there is a limitation on the number of entries in SG list (16), the current approach has a limitation on the max transaction size which depends on the data block size. E.g. if data block size is 512 bytes then the maximum transaction size will be 512 * 16 = 8192 bytes.
In adiition, the size of IO buffer (IOUnitSize conf param) must be aligned to metadata size for better perfromance since metadata is treated as part of this buffer. E.g. if the initiator uses transaction size = 4096, data block size on nvme disk is 512 then IO buffer size should be aligned to (512 + 8) which is 4160. In other case an extra IO buffer will be consumed which will increase the number of entries in SGL and in iov.

Change-Id: I7ad2270fe9dcceb114ece34675eac44e5783a0d5
Signed-off-by: Alexey Marchuk <alexeymar@mellanox.com>
Signed-off-by: Sasha Kotchubievsky <sashakot@mellanox.com>
Signed-off-by: Evgenii Kochetov <evgeniik@mellanox.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/465248
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Seth Howell <seth.howell@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
2019-09-20 16:07:46 +00:00
..
ctrlr_bdev.c ut/cunit: added missing semicolon on CU_ASSERT macros 2019-07-24 18:21:22 +00:00
ctrlr_discovery.c test/nvmf: Remove event function stubs 2019-09-18 16:45:05 +00:00
ctrlr.c nvmf: check HOSTNQN access right for discovery service 2019-07-24 11:25:59 +00:00
fc_ls.c nvmf/fc: Rename transport_poll_group instance in nvmf_fc_poll_group to group 2019-09-09 00:42:22 +00:00
fc.c nvmf/fc: Rename nvmf_fc_poll_group pointer held in struct to fgroup 2019-09-09 00:42:22 +00:00
rdma.c rdma: Add DIF support for write operation 2019-09-20 16:07:46 +00:00
subsystem.c test/nvmf: Remove event function stubs 2019-09-18 16:45:05 +00:00
tcp.c nvmf/tcp: Use STAILQ for queued_c2h_data_tcp_req and pending_data_buf_queue 2019-08-30 16:56:46 +00:00
Makefile NVMe-oF Target: Add FC transport. 2019-07-26 22:17:17 +00:00