lib/nvme: don't submit request if qpair is disconnected.

This becomes a problem when the qpair is reconnected.

Signed-off-by: Seth Howell <seth.howell@intel.com>
Change-Id: I6677b396cf766684a4891ffbee93aa3e4e83374d
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/3391
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
This commit is contained in:
Seth Howell 2020-07-16 16:39:37 -07:00 committed by Tomasz Zawadzki
parent 612aa86b50
commit 0d8f86f842
2 changed files with 5 additions and 0 deletions

View File

@ -826,6 +826,10 @@ _nvme_qpair_submit_request(struct spdk_nvme_qpair *qpair, struct nvme_request *r
nvme_qpair_check_enabled(qpair);
if (nvme_qpair_get_state(qpair) == NVME_QPAIR_DISCONNECTED) {
return -ENXIO;
}
if (req->num_children) {
/*
* This is a split (parent) request. Submit all of the children but not the parent

View File

@ -111,6 +111,7 @@ test3(void)
struct nvme_request *req;
struct spdk_nvme_ctrlr ctrlr = {};
qpair.state = NVME_QPAIR_ENABLED;
prepare_submit_request_test(&qpair, &ctrlr);
req = nvme_allocate_request_null(&qpair, expected_success_callback, NULL);