Commit 3552b7e7 authored by Thanos Makatos's avatar Thanos Makatos Committed by Tomasz Zawadzki
Browse files

nvmf/vfio-user: log SGL mapping errors



Change-Id: I127f5602d8509251d77087917ecee4ca378b796b
Signed-off-by: default avatarThanos Makatos <thanos.makatos@nutanix.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/19586


Reviewed-by: default avatarJohn Levon <levon@movementarian.org>
Reviewed-by: default avatarTomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: default avatarChangpeng Liu <changpeng.liu@intel.com>
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
parent af17f280
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -729,11 +729,20 @@ map_one(vfu_ctx_t *ctx, uint64_t addr, uint64_t len, dma_sg_t *sg,

	ret = vfu_addr_to_sgl(ctx, (void *)(uintptr_t)addr, len, sg, 1, prot);
	if (ret < 0) {
		if (ret == -1) {
			SPDK_ERRLOG("failed to translate IOVA [%lu, %lu) (prot=%d) to local VA: %m\n",
				    addr, addr + len, prot);
		} else {
			SPDK_ERRLOG("failed to translate IOVA [%lu, %lu) (prot=%d) to local VA: %d segments needed\n",
				    addr, addr + len, prot, -(ret + 1));
		}
		return NULL;
	}

	ret = vfu_sgl_get(ctx, sg, iov, 1, 0);
	if (ret != 0) {
		SPDK_ERRLOG("failed to get IOVA for IOVA [%ld, %ld): %m\n",
			    addr, addr + len);
		return NULL;
	}