iscsi: Properly unregister iscsi_tgt io_device

Fixes #923

Change-Id: I5c1e02a7d6e2e22db9c0a1345c03a351e07a15d4
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/465976
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
This commit is contained in:
Ben Walker 2019-08-21 12:57:31 -07:00 committed by Jim Harris
parent f09be44ee3
commit f8d687bdb6

View File

@ -1363,7 +1363,17 @@ spdk_iscsi_fini(spdk_iscsi_fini_cb cb_fn, void *cb_arg)
}
static void
iscsi_fini_done(struct spdk_io_channel_iter *i, int status)
iscsi_fini_done(void *io_device)
{
free(g_spdk_iscsi.authfile);
free(g_spdk_iscsi.nodebase);
pthread_mutex_destroy(&g_spdk_iscsi.mutex);
g_fini_cb_fn(g_fini_cb_arg);
}
static void
_iscsi_fini_dev_unreg(struct spdk_io_channel_iter *i, int status)
{
iscsi_check_pools();
iscsi_free_pools();
@ -1374,11 +1384,8 @@ iscsi_fini_done(struct spdk_io_channel_iter *i, int status)
spdk_iscsi_init_grps_destroy();
spdk_iscsi_portal_grps_destroy();
iscsi_auth_groups_destroy();
free(g_spdk_iscsi.authfile);
free(g_spdk_iscsi.nodebase);
pthread_mutex_destroy(&g_spdk_iscsi.mutex);
g_fini_cb_fn(g_fini_cb_arg);
spdk_io_device_unregister(&g_spdk_iscsi, iscsi_fini_done);
}
static void
@ -1402,7 +1409,7 @@ _iscsi_fini_thread(struct spdk_io_channel_iter *i)
void
spdk_shutdown_iscsi_conns_done(void)
{
spdk_for_each_channel(&g_spdk_iscsi, _iscsi_fini_thread, NULL, iscsi_fini_done);
spdk_for_each_channel(&g_spdk_iscsi, _iscsi_fini_thread, NULL, _iscsi_fini_dev_unreg);
}
void