diff --git a/app/nvmf_tgt/nvmf_tgt.c b/app/nvmf_tgt/nvmf_tgt.c index 998c81890..8670b703e 100644 --- a/app/nvmf_tgt/nvmf_tgt.c +++ b/app/nvmf_tgt/nvmf_tgt.c @@ -265,7 +265,9 @@ nvmf_tgt_shutdown_subsystem_by_nqn(const char *nqn) static void acceptor_poll(void *arg) { - spdk_nvmf_tgt_poll(); + struct spdk_nvmf_tgt *tgt = arg; + + spdk_nvmf_tgt_accept(tgt); } static void @@ -284,7 +286,7 @@ spdk_nvmf_startup(void *arg1, void *arg2) goto initialize_error; } - spdk_poller_register(&g_acceptor_poller, acceptor_poll, NULL, + spdk_poller_register(&g_acceptor_poller, acceptor_poll, g_tgt, g_spdk_nvmf_tgt_conf.acceptor_lcore, g_spdk_nvmf_tgt_conf.acceptor_poll_rate); diff --git a/include/spdk/nvmf.h b/include/spdk/nvmf.h index c17d29258..4e81f3b92 100644 --- a/include/spdk/nvmf.h +++ b/include/spdk/nvmf.h @@ -84,6 +84,11 @@ void spdk_nvmf_tgt_destroy(struct spdk_nvmf_tgt *tgt); struct spdk_nvmf_listen_addr *spdk_nvmf_tgt_listen(struct spdk_nvmf_tgt *tgt, struct spdk_nvme_transport_id *trid); +/** + * Poll the target for incoming connections. + */ +void spdk_nvmf_tgt_accept(struct spdk_nvmf_tgt *tgt); + struct spdk_nvmf_subsystem; struct spdk_nvmf_ctrlr; struct spdk_nvmf_qpair; @@ -289,8 +294,6 @@ int spdk_nvmf_subsystem_set_sn(struct spdk_nvmf_subsystem *subsystem, const char const char *spdk_nvmf_subsystem_get_nqn(struct spdk_nvmf_subsystem *subsystem); enum spdk_nvmf_subtype spdk_nvmf_subsystem_get_type(struct spdk_nvmf_subsystem *subsystem); -void spdk_nvmf_tgt_poll(void); - void spdk_nvmf_handle_connect(struct spdk_nvmf_request *req); void spdk_nvmf_ctrlr_disconnect(struct spdk_nvmf_qpair *qpair); diff --git a/lib/nvmf/nvmf.c b/lib/nvmf/nvmf.c index ab398fc5f..a3b06ff92 100644 --- a/lib/nvmf/nvmf.c +++ b/lib/nvmf/nvmf.c @@ -218,11 +218,11 @@ spdk_nvmf_listen_addr_destroy(struct spdk_nvmf_listen_addr *addr) } void -spdk_nvmf_tgt_poll(void) +spdk_nvmf_tgt_accept(struct spdk_nvmf_tgt *tgt) { struct spdk_nvmf_transport *transport, *tmp; - TAILQ_FOREACH_SAFE(transport, &g_nvmf_tgt.transports, link, tmp) { + TAILQ_FOREACH_SAFE(transport, &tgt->transports, link, tmp) { spdk_nvmf_transport_accept(transport); } }