nvmf/fc: Check if qpair is already disconnecting.
Dont call spdk_nvmf_qpair_disconnect if qpair is already disconnecting. Signed-off-by: Naresh Gottumukkala <raju.gottumukkala@broadcom.com> Change-Id: Ie7032507775b6abdd178b534a636c5338ecc7d87 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/5710 Community-CI: Broadcom CI Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
This commit is contained in:
parent
34cb6a1578
commit
41f8789ce4
@ -1505,10 +1505,12 @@ nvmf_fc_poller_conn_abort_done(void *hwqp, int32_t status, void *cb_args)
|
|||||||
|
|
||||||
SPDK_DEBUGLOG(nvmf_fc_poller_api, "Connection deleted, conn_id 0x%lx\n", fc_conn->conn_id);
|
SPDK_DEBUGLOG(nvmf_fc_poller_api, "Connection deleted, conn_id 0x%lx\n", fc_conn->conn_id);
|
||||||
|
|
||||||
if (!conn_args->backend_initiated) {
|
if (!conn_args->backend_initiated && (fc_conn->qpair.state != SPDK_NVMF_QPAIR_DEACTIVATING)) {
|
||||||
/* disconnect qpair from nvmf controller */
|
/* disconnect qpair from nvmf controller */
|
||||||
spdk_nvmf_qpair_disconnect(&fc_conn->qpair,
|
spdk_nvmf_qpair_disconnect(&fc_conn->qpair,
|
||||||
nvmf_fc_disconnect_qpair_cb, &conn_args->cb_info);
|
nvmf_fc_disconnect_qpair_cb, &conn_args->cb_info);
|
||||||
|
} else {
|
||||||
|
nvmf_fc_poller_api_perform_cb(&conn_args->cb_info, SPDK_NVMF_FC_POLLER_API_SUCCESS);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
/*
|
/*
|
||||||
@ -1563,10 +1565,12 @@ nvmf_fc_poller_api_del_connection(void *arg)
|
|||||||
nvmf_fc_poller_del_conn_lookup_data(conn_args->hwqp, conn_args->fc_conn);
|
nvmf_fc_poller_del_conn_lookup_data(conn_args->hwqp, conn_args->fc_conn);
|
||||||
hwqp->num_conns--;
|
hwqp->num_conns--;
|
||||||
|
|
||||||
if (!conn_args->backend_initiated) {
|
if (!conn_args->backend_initiated && (fc_conn->qpair.state != SPDK_NVMF_QPAIR_DEACTIVATING)) {
|
||||||
/* disconnect qpair from nvmf controller */
|
/* disconnect qpair from nvmf controller */
|
||||||
spdk_nvmf_qpair_disconnect(&fc_conn->qpair, nvmf_fc_disconnect_qpair_cb,
|
spdk_nvmf_qpair_disconnect(&fc_conn->qpair, nvmf_fc_disconnect_qpair_cb,
|
||||||
&conn_args->cb_info);
|
&conn_args->cb_info);
|
||||||
|
} else {
|
||||||
|
nvmf_fc_poller_api_perform_cb(&conn_args->cb_info, SPDK_NVMF_FC_POLLER_API_SUCCESS);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user