nvmf: fix aer request judgment

Fix potential bug. In nvmf_ctrlr_abort_on_pg(), when run into
the request_complete it can trigger this bug because in nvmf_qpair_abort
the ctrlr->aer_req was set to NULL.

Change-Id: I37a7e3c76c6616ca4ecbc6d9d2776ee32449c796
Signed-off-by: Jin Yu <jin.yu@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/2545
Community-CI: Mellanox Build Bot
Community-CI: Broadcom CI
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
This commit is contained in:
Jin Yu 2020-05-20 23:12:30 +08:00 committed by Tomasz Zawadzki
parent fadfef63d1
commit 9396422b36

View File

@ -2868,7 +2868,7 @@ spdk_nvmf_request_complete(struct spdk_nvmf_request *req)
qpair = req->qpair; qpair = req->qpair;
if (qpair->ctrlr) { if (qpair->ctrlr) {
sgroup = &qpair->group->sgroups[qpair->ctrlr->subsys->id]; sgroup = &qpair->group->sgroups[qpair->ctrlr->subsys->id];
is_aer = qpair->ctrlr->aer_req == req; is_aer = req->cmd->nvme_cmd.opc == SPDK_NVME_OPC_ASYNC_EVENT_REQUEST;
} else if (spdk_unlikely(nvmf_request_is_fabric_connect(req))) { } else if (spdk_unlikely(nvmf_request_is_fabric_connect(req))) {
sgroup = nvmf_subsystem_pg_from_connect_cmd(req); sgroup = nvmf_subsystem_pg_from_connect_cmd(req);
} }