From 300583e2e17ec7ea669716eab15ee49e52453c87 Mon Sep 17 00:00:00 2001 From: Seth Howell Date: Fri, 10 Apr 2020 23:00:27 -0700 Subject: [PATCH] lib/nvme: when failing a controller, disconnect the admin qpair. This is really useful when the intent of failing the qpair is to do something like fail over to a different controller structure and we want back completions for everything outstanding from the admin queue. Signed-off-by: Seth Howell Change-Id: Icbfdf855ddb1a380da7b9036ab5da6faab862e00 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1815 Community-CI: Mellanox Build Bot Community-CI: Broadcom CI Tested-by: SPDK CI Jenkins Reviewed-by: Aleksey Marchuk Reviewed-by: Shuhei Matsumoto Reviewed-by: Jim Harris Reviewed-by: Ben Walker --- lib/nvme/nvme_ctrlr.c | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/nvme/nvme_ctrlr.c b/lib/nvme/nvme_ctrlr.c index ba6f8d967..d10a07b33 100644 --- a/lib/nvme/nvme_ctrlr.c +++ b/lib/nvme/nvme_ctrlr.c @@ -757,6 +757,7 @@ nvme_ctrlr_fail(struct spdk_nvme_ctrlr *ctrlr, bool hot_remove) ctrlr->is_removed = true; } ctrlr->is_failed = true; + nvme_transport_ctrlr_disconnect_qpair(ctrlr, ctrlr->adminq); SPDK_ERRLOG("ctrlr %s in failed state.\n", ctrlr->trid.traddr); }