nvme_pcie: Fix nvme_qpair_abort_all_queued_reqs() to be called for adminq
By the patch736b9da034
nvme_qpair_abort_all_queued_reqs() was changed to be called after the adminq is actually disconnected. However, the patchac31590b37
unexpectedly disabled to call nvme_qpair_abort_all_queued_reqs() for adminq because qpair->active_proc is NULL for adminq. Add one more condition to nvme_transport_ctrlr_disconnect_qpair_done(). Fixes issue #2928 Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Change-Id: Ic65f4cd952e6e89275788ff4b86ceca050f624d5 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/17001 Reviewed-by: Michael Haeuptle <michaelhaeuptle@gmail.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
This commit is contained in:
parent
772bffcbf9
commit
cb2a73304b
@ -537,7 +537,8 @@ nvme_transport_ctrlr_disconnect_qpair(struct spdk_nvme_ctrlr *ctrlr, struct spdk
|
||||
void
|
||||
nvme_transport_ctrlr_disconnect_qpair_done(struct spdk_nvme_qpair *qpair)
|
||||
{
|
||||
if (qpair->active_proc == nvme_ctrlr_get_current_process(qpair->ctrlr)) {
|
||||
if (qpair->active_proc == nvme_ctrlr_get_current_process(qpair->ctrlr) ||
|
||||
nvme_qpair_is_admin_queue(qpair)) {
|
||||
nvme_qpair_abort_all_queued_reqs(qpair, 0);
|
||||
}
|
||||
nvme_qpair_set_state(qpair, NVME_QPAIR_DISCONNECTED);
|
||||
|
Loading…
Reference in New Issue
Block a user