From 3bb303d9e616c2d59907a09b3760040d7edaa195 Mon Sep 17 00:00:00 2001 From: Jacek Kalwas Date: Tue, 22 Dec 2020 10:23:06 -0500 Subject: [PATCH] nvmf: use util to rm all registrants Signed-off-by: Jacek Kalwas Change-Id: I5352b64ee1dfcca874563398aa49409e6805895e Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/5671 Community-CI: Broadcom CI Reviewed-by: Aleksey Marchuk Reviewed-by: Shuhei Matsumoto Reviewed-by: Jim Harris Tested-by: SPDK CI Jenkins --- lib/nvmf/subsystem.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/lib/nvmf/subsystem.c b/lib/nvmf/subsystem.c index 50ade8019..97e2ec936 100644 --- a/lib/nvmf/subsystem.c +++ b/lib/nvmf/subsystem.c @@ -1146,11 +1146,13 @@ nvmf_subsystem_ns_changed(struct spdk_nvmf_subsystem *subsystem, uint32_t nsid) } } +static uint32_t +nvmf_ns_reservation_clear_all_registrants(struct spdk_nvmf_ns *ns); + int spdk_nvmf_subsystem_remove_ns(struct spdk_nvmf_subsystem *subsystem, uint32_t nsid) { struct spdk_nvmf_ns *ns; - struct spdk_nvmf_registrant *reg, *reg_tmp; if (!(subsystem->state == SPDK_NVMF_SUBSYSTEM_INACTIVE || subsystem->state == SPDK_NVMF_SUBSYSTEM_PAUSED)) { @@ -1169,15 +1171,10 @@ spdk_nvmf_subsystem_remove_ns(struct spdk_nvmf_subsystem *subsystem, uint32_t ns subsystem->ns[nsid - 1] = NULL; - TAILQ_FOREACH_SAFE(reg, &ns->registrants, link, reg_tmp) { - TAILQ_REMOVE(&ns->registrants, reg, link); - free(reg); - } + free(ns->ptpl_file); + nvmf_ns_reservation_clear_all_registrants(ns); spdk_bdev_module_release_bdev(ns->bdev); spdk_bdev_close(ns->desc); - if (ns->ptpl_file) { - free(ns->ptpl_file); - } free(ns); nvmf_subsystem_ns_changed(subsystem, nsid);