iscsi: unregister poll groups on shutdown
Signed-off-by: Jim Harris <james.r.harris@intel.com> Change-Id: Ic2bae1c750d2c9b35bded8ed96c3b84832690ce2 Reviewed-on: https://review.gerrithub.io/401479 Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
This commit is contained in:
parent
6285e36e5a
commit
d95bb23258
@ -546,7 +546,7 @@ static void
|
|||||||
spdk_iscsi_conn_check_shutdown_cb(void *arg1, void *arg2)
|
spdk_iscsi_conn_check_shutdown_cb(void *arg1, void *arg2)
|
||||||
{
|
{
|
||||||
spdk_iscsi_conns_cleanup();
|
spdk_iscsi_conns_cleanup();
|
||||||
spdk_iscsi_fini_done();
|
spdk_shutdown_iscsi_conns_done();
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -331,7 +331,7 @@ typedef void (*spdk_iscsi_init_cb)(void *cb_arg, int rc);
|
|||||||
void spdk_iscsi_init(spdk_iscsi_init_cb cb_fn, void *cb_arg);
|
void spdk_iscsi_init(spdk_iscsi_init_cb cb_fn, void *cb_arg);
|
||||||
typedef void (*spdk_iscsi_fini_cb)(void *arg);
|
typedef void (*spdk_iscsi_fini_cb)(void *arg);
|
||||||
void spdk_iscsi_fini(spdk_iscsi_fini_cb cb_fn, void *cb_arg);
|
void spdk_iscsi_fini(spdk_iscsi_fini_cb cb_fn, void *cb_arg);
|
||||||
void spdk_iscsi_fini_done(void);
|
void spdk_shutdown_iscsi_conns_done(void);
|
||||||
void spdk_iscsi_config_text(FILE *fp);
|
void spdk_iscsi_config_text(FILE *fp);
|
||||||
|
|
||||||
int spdk_iscsi_send_nopin(struct spdk_iscsi_conn *conn);
|
int spdk_iscsi_send_nopin(struct spdk_iscsi_conn *conn);
|
||||||
|
@ -860,6 +860,18 @@ iscsi_create_poll_group(void *ctx)
|
|||||||
pg->poller = spdk_poller_register(spdk_iscsi_poll_group_poll, pg, 0);
|
pg->poller = spdk_poller_register(spdk_iscsi_poll_group_poll, pg, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
iscsi_unregister_poll_group(void *ctx)
|
||||||
|
{
|
||||||
|
struct spdk_iscsi_poll_group *pg;
|
||||||
|
|
||||||
|
pg = &g_spdk_iscsi.poll_group[spdk_env_get_current_core()];
|
||||||
|
assert(pg != NULL);
|
||||||
|
assert(pg->poller != NULL);
|
||||||
|
|
||||||
|
spdk_poller_unregister(&pg->poller);
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
spdk_initialize_iscsi_poll_group(void)
|
spdk_initialize_iscsi_poll_group(void)
|
||||||
{
|
{
|
||||||
@ -926,8 +938,8 @@ spdk_iscsi_fini(spdk_iscsi_fini_cb cb_fn, void *cb_arg)
|
|||||||
spdk_shutdown_iscsi_conns();
|
spdk_shutdown_iscsi_conns();
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
static void
|
||||||
spdk_iscsi_fini_done(void)
|
spdk_iscsi_fini_done(void *arg)
|
||||||
{
|
{
|
||||||
spdk_iscsi_check_pools();
|
spdk_iscsi_check_pools();
|
||||||
spdk_iscsi_free_pools();
|
spdk_iscsi_free_pools();
|
||||||
@ -943,6 +955,12 @@ spdk_iscsi_fini_done(void)
|
|||||||
g_fini_cb_fn(g_fini_cb_arg);
|
g_fini_cb_fn(g_fini_cb_arg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
spdk_shutdown_iscsi_conns_done(void)
|
||||||
|
{
|
||||||
|
spdk_for_each_thread(iscsi_unregister_poll_group, NULL, spdk_iscsi_fini_done);
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
spdk_iscsi_config_text(FILE *fp)
|
spdk_iscsi_config_text(FILE *fp)
|
||||||
{
|
{
|
||||||
|
@ -243,7 +243,7 @@ spdk_iscsi_tgt_node_cleanup_luns(struct spdk_iscsi_conn *conn,
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
spdk_iscsi_fini_done(void)
|
spdk_shutdown_iscsi_conns_done(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user