nvme_qpair: fail the ctrlr only for errors on admin qpair.

We shouldn't always fail the whole controller if we get a failure on an
individual qpair.

Change-Id: Id0c90af83e5231593a895be66e7a7de48939e240
Signed-off-by: Seth Howell <seth.howell@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/471660
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Alexey Marchuk <alexeymar@mellanox.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
This commit is contained in:
Seth Howell 2019-10-17 13:14:06 -07:00 committed by Jim Harris
parent 6b314fb5dc
commit 552898ec17

View File

@ -471,7 +471,9 @@ spdk_nvme_qpair_process_completions(struct spdk_nvme_qpair *qpair, uint32_t max_
ret = nvme_transport_qpair_process_completions(qpair, max_completions);
if (ret < 0) {
SPDK_ERRLOG("CQ error, abort requests after transport retry counter exceeded\n");
nvme_ctrlr_fail(qpair->ctrlr, false);
if (nvme_qpair_is_admin_queue(qpair)) {
nvme_ctrlr_fail(qpair->ctrlr, false);
}
}
qpair->in_completion_context = 0;
if (qpair->delete_after_completion_context) {