nvmf/rdma: Add a warning about data corruption with MSDBD and

in-capsule data over 4KiB when using the Linux initiator.

This is fixed in the latest kernel. See

https://lists.infradead.org/pipermail/linux-nvme/2021-May/025641.html

Fixes #1823

Change-Id: Ie383ea774ee31ef8fe255119095b21603483c33f
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/8424
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Ziye Yang <ziye.yang@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: <dongx.yi@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
This commit is contained in:
Ben Walker 2021-06-17 15:18:32 -07:00 committed by Tomasz Zawadzki
parent e6a9c4042d
commit 34392f231d

View File

@ -3212,6 +3212,14 @@ nvmf_rdma_cdata_init(struct spdk_nvmf_transport *transport, struct spdk_nvmf_sub
if (transport->opts.dif_insert_or_strip) {
cdata->nvmf_specific.ioccsz = sizeof(struct spdk_nvme_cmd) / 16;
}
if (cdata->nvmf_specific.ioccsz > ((sizeof(struct spdk_nvme_cmd) + 0x1000) / 16)) {
SPDK_WARNLOG("RDMA is configured to support up to 16 SGL entries while in capsule"
" data is greater than 4KiB.\n");
SPDK_WARNLOG("When used in conjunction with the NVMe-oF initiator from the Linux "
"kernel between versions 5.4 and 5.12 data corruption may occur for "
"writes that are not a multiple of 4KiB in size.\n");
}
}
static void