c7bb68aa3e
When a request is submitted, it may have incorrect iov alignment that doesn't fit PRP requirements. In the current version an internal function fails such a request and returns a NULL pointer. This is mapped to -ENOMEM error which is returned to generic bdev layer where such a request is queued in a "nomem_io" queue and later can be resubmitted. That is incorrect and such a request must be completed immediately. To fail the request, we need to differentiate between -ENOMEM and other cases, so we pass a pointer to a result to local nvme functions Change-Id: I7120d49114d801497a71fca5a23b172732d088de Signed-off-by: Alexey Marchuk <alexeymar@mellanox.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/7036 Community-CI: Broadcom CI Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Paul Luse <paul.e.luse@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> |
||
---|---|---|
.. | ||
Makefile | ||
nvme_ctrlr_cmd.c | ||
nvme_ctrlr_ocssd_cmd.c | ||
nvme_ctrlr.c | ||
nvme_cuse.c | ||
nvme_cuse.h | ||
nvme_fabric.c | ||
nvme_internal.h | ||
nvme_io_msg.c | ||
nvme_io_msg.h | ||
nvme_ns_cmd.c | ||
nvme_ns_ocssd_cmd.c | ||
nvme_ns.c | ||
nvme_opal_internal.h | ||
nvme_opal.c | ||
nvme_pcie_common.c | ||
nvme_pcie_internal.h | ||
nvme_pcie.c | ||
nvme_poll_group.c | ||
nvme_qpair.c | ||
nvme_quirks.c | ||
nvme_rdma.c | ||
nvme_tcp.c | ||
nvme_transport.c | ||
nvme_uevent.c | ||
nvme_uevent.h | ||
nvme_vfio_user.c | ||
nvme_zns.c | ||
nvme.c | ||
spdk_nvme.map |