nvmf/vfio-user: handle connect response error correctly

The error response should be processed at the beginning of this
function.

Change-Id: Id583951c82981cf58984ab68b23ad6f7ea80cd3f
Signed-off-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/6859
Community-CI: Broadcom CI
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: <dongx.yi@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
This commit is contained in:
Changpeng Liu 2021-03-11 20:58:41 +08:00 committed by Tomasz Zawadzki
parent 62f54005c0
commit adfec326b6

View File

@ -1811,10 +1811,6 @@ handle_queue_connect_rsp(struct nvmf_vfio_user_req *req, void *cb_arg)
assert(qpair != NULL);
assert(req != NULL);
vu_group = SPDK_CONTAINEROF(qpair->group, struct nvmf_vfio_user_poll_group, group);
TAILQ_INSERT_TAIL(&vu_group->qps, qpair, link);
qpair->state = VFIO_USER_QPAIR_ACTIVE;
ctrlr = qpair->ctrlr;
assert(ctrlr != NULL);
@ -1825,6 +1821,10 @@ handle_queue_connect_rsp(struct nvmf_vfio_user_req *req, void *cb_arg)
return -1;
}
vu_group = SPDK_CONTAINEROF(qpair->group, struct nvmf_vfio_user_poll_group, group);
TAILQ_INSERT_TAIL(&vu_group->qps, qpair, link);
qpair->state = VFIO_USER_QPAIR_ACTIVE;
if (nvmf_qpair_is_admin_queue(&qpair->qpair)) {
ctrlr->cntlid = qpair->qpair.ctrlr->cntlid;
ctrlr->ready = true;