Spdk/lib/nvme
Daniel Verkamp eb555b139e nvme: add return code to nvme_qpair_submit_request
If the controller is failed, attempting to submit additional I/O is
futile - it will be immediately failed using the completion callback,
which can result in infinite recursion if the application code resubmits
I/Os on failure.

Instead, provide a way for request submission to indicate failure, and
use it to exit early if the controller is failed; this can only happen
when a reset failed (timed out).

If a request is submitted directly by the user when the controller has
failed, we can return an error code directly.  For the case where I/O
was queued and is being resubmitted after a reset, we still need to call
the completion handler via _nvme_fail_request_ctrlr_failed().

Change-Id: I9e144328d524b25db2acf48e923b584746e8d0b6
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2016-03-16 12:16:47 -07:00
..
Makefile nvme: Add Intel NVMe device supported feature quirks 2016-01-29 13:45:05 -07:00
nvme_ctrlr_cmd.c nvme: add return code to nvme_qpair_submit_request 2016-03-16 12:16:47 -07:00
nvme_ctrlr.c nvme: add return code to nvme_qpair_submit_request 2016-03-16 12:16:47 -07:00
nvme_impl.h nvme: add timestamp counter interface to nvme_impl 2016-02-24 21:17:12 -07:00
nvme_intel.c pci_ids: add SPDK_ prefix 2016-02-08 14:28:47 -07:00
nvme_internal.h nvme: add return code to nvme_qpair_submit_request 2016-03-16 12:16:47 -07:00
nvme_ns_cmd.c nvme: add return code to nvme_qpair_submit_request 2016-03-16 12:16:47 -07:00
nvme_ns.c nvme manage: Add interface for format progress indicator. 2016-03-10 09:02:06 +08:00
nvme_qpair.c nvme: add return code to nvme_qpair_submit_request 2016-03-16 12:16:47 -07:00
nvme.c nvme: allow user to override controller defaults 2016-03-16 08:14:15 -07:00