From afc9800b064ca7663b0c3fc39b1279c46320010f Mon Sep 17 00:00:00 2001 From: Seth Howell Date: Thu, 3 Oct 2019 16:28:33 -0700 Subject: [PATCH] nvme: _nvme_qpair_submit_request does not requeue This will be handled by nvme_qpair_submit_request when it receives -EAGAIN from _nvme_qpair_submit_request. Change-Id: I5e76aae170c981df0cadaadcd5da1163c715006f Signed-off-by: Seth Howell Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/470407 Tested-by: SPDK CI Jenkins Reviewed-by: Ben Walker Reviewed-by: Jim Harris Reviewed-by: Shuhei Matsumoto Reviewed-by: Alexey Marchuk --- lib/nvme/nvme_qpair.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/lib/nvme/nvme_qpair.c b/lib/nvme/nvme_qpair.c index 913730683..bd5e57336 100644 --- a/lib/nvme/nvme_qpair.c +++ b/lib/nvme/nvme_qpair.c @@ -625,8 +625,7 @@ _nvme_qpair_submit_request(struct spdk_nvme_qpair *qpair, struct nvme_request *r /* The controller is being reset - queue this request and * submit it later when the reset is completed. */ - STAILQ_INSERT_TAIL(&qpair->queued_req, req, stailq); - return 0; + return -EAGAIN; } if (spdk_likely(rc == 0)) { @@ -634,8 +633,7 @@ _nvme_qpair_submit_request(struct spdk_nvme_qpair *qpair, struct nvme_request *r } if (rc == -EAGAIN) { - STAILQ_INSERT_TAIL(&qpair->queued_req, req, stailq); - return 0; + return -EAGAIN; } error: @@ -650,7 +648,15 @@ error: int nvme_qpair_submit_request(struct spdk_nvme_qpair *qpair, struct nvme_request *req) { - return _nvme_qpair_submit_request(qpair, req); + int rc; + + rc = _nvme_qpair_submit_request(qpair, req); + if (rc == -EAGAIN) { + STAILQ_INSERT_TAIL(&qpair->queued_req, req, stailq); + rc = 0; + } + + return rc; } void