eb555b139e
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> |
||
---|---|---|
.. | ||
ioat | ||
memory | ||
nvme | ||
util | ||
Makefile |