From fd0770fecbf0dc2aa83372d35169d504030e2176 Mon Sep 17 00:00:00 2001 From: Ben Walker Date: Wed, 20 Dec 2017 13:45:59 -0700 Subject: [PATCH] nvmf: Delete subsystems when target is destroyed Change-Id: I102954505c2c53458aae30f6d15b46e008355501 Signed-off-by: Ben Walker Reviewed-on: https://review.gerrithub.io/392565 Reviewed-by: Daniel Verkamp Tested-by: SPDK Automated Test System --- lib/nvmf/nvmf.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/nvmf/nvmf.c b/lib/nvmf/nvmf.c index 828f5614d..ed2ad0cc8 100644 --- a/lib/nvmf/nvmf.c +++ b/lib/nvmf/nvmf.c @@ -193,6 +193,7 @@ void spdk_nvmf_tgt_destroy(struct spdk_nvmf_tgt *tgt) { struct spdk_nvmf_transport *transport, *transport_tmp; + uint32_t i; TAILQ_FOREACH_SAFE(transport, &tgt->transports, link, transport_tmp) { TAILQ_REMOVE(&tgt->transports, transport, link); @@ -204,6 +205,11 @@ spdk_nvmf_tgt_destroy(struct spdk_nvmf_tgt *tgt) } if (tgt->subsystems) { + for (i = 0; i < tgt->max_sid; i++) { + if (tgt->subsystems[i]) { + spdk_nvmf_delete_subsystem(tgt->subsystems[i]); + } + } free(tgt->subsystems); }