From 3895ca40d9fac79850a250c9dd01041461f3489f Mon Sep 17 00:00:00 2001 From: Jim Harris Date: Thu, 9 May 2019 12:43:50 -0700 Subject: [PATCH] nvme: break out tcp disconnect from destroy Signed-off-by: Jim Harris Change-Id: Iacce5c98ebfb768bdd5babc39a3ebc6d1dfbc8ea Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/453935 Tested-by: SPDK CI Jenkins Reviewed-by: Ben Walker Reviewed-by: Shuhei Matsumoto Reviewed-by: Changpeng Liu --- lib/nvme/nvme_tcp.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/lib/nvme/nvme_tcp.c b/lib/nvme/nvme_tcp.c index f4fa12197..bbe270345 100644 --- a/lib/nvme/nvme_tcp.c +++ b/lib/nvme/nvme_tcp.c @@ -227,6 +227,14 @@ fail: return -ENOMEM; } +static void +nvme_tcp_qpair_disconnect(struct spdk_nvme_qpair *qpair) +{ + struct nvme_tcp_qpair *tqpair = nvme_tcp_qpair(qpair); + + spdk_sock_close(&tqpair->sock); +} + static int nvme_tcp_qpair_destroy(struct spdk_nvme_qpair *qpair) { @@ -236,14 +244,11 @@ nvme_tcp_qpair_destroy(struct spdk_nvme_qpair *qpair) return -1; } + nvme_tcp_qpair_disconnect(qpair); nvme_tcp_qpair_abort_reqs(qpair, 1); nvme_qpair_deinit(qpair); - tqpair = nvme_tcp_qpair(qpair); - nvme_tcp_free_reqs(tqpair); - - spdk_sock_close(&tqpair->sock); free(tqpair); return 0;