diff --git a/lib/nvmf/nvmf.c b/lib/nvmf/nvmf.c index 9dcdb445d..623474465 100644 --- a/lib/nvmf/nvmf.c +++ b/lib/nvmf/nvmf.c @@ -136,6 +136,32 @@ nvmf_tgt_destroy_poll_group(void *io_device, void *ctx_buf) nvmf_tgt_cleanup_poll_group(group); } +static int +nvmf_poll_group_add_transport(struct spdk_nvmf_poll_group *group, + struct spdk_nvmf_transport *transport) +{ + struct spdk_nvmf_transport_poll_group *tgroup; + + TAILQ_FOREACH(tgroup, &group->tgroups, link) { + if (tgroup->transport == transport) { + /* Transport already in the poll group */ + return 0; + } + } + + tgroup = nvmf_transport_poll_group_create(transport, group); + if (!tgroup) { + SPDK_ERRLOG("Unable to create poll group for transport\n"); + return -1; + } + SPDK_DTRACE_PROBE2(nvmf_transport_poll_group_create, transport, spdk_thread_get_id(group->thread)); + + tgroup->group = group; + TAILQ_INSERT_TAIL(&group->tgroups, tgroup, link); + + return 0; +} + static int nvmf_tgt_create_poll_group(void *io_device, void *ctx_buf) { @@ -1144,32 +1170,6 @@ spdk_nvmf_qpair_get_listen_trid(struct spdk_nvmf_qpair *qpair, return nvmf_transport_qpair_get_listen_trid(qpair, trid); } -int -nvmf_poll_group_add_transport(struct spdk_nvmf_poll_group *group, - struct spdk_nvmf_transport *transport) -{ - struct spdk_nvmf_transport_poll_group *tgroup; - - TAILQ_FOREACH(tgroup, &group->tgroups, link) { - if (tgroup->transport == transport) { - /* Transport already in the poll group */ - return 0; - } - } - - tgroup = nvmf_transport_poll_group_create(transport, group); - if (!tgroup) { - SPDK_ERRLOG("Unable to create poll group for transport\n"); - return -1; - } - SPDK_DTRACE_PROBE2(nvmf_transport_poll_group_create, transport, spdk_thread_get_id(group->thread)); - - tgroup->group = group; - TAILQ_INSERT_TAIL(&group->tgroups, tgroup, link); - - return 0; -} - static int poll_group_update_subsystem(struct spdk_nvmf_poll_group *group, struct spdk_nvmf_subsystem *subsystem) diff --git a/lib/nvmf/nvmf_internal.h b/lib/nvmf/nvmf_internal.h index dc505de59..6f8281db8 100644 --- a/lib/nvmf/nvmf_internal.h +++ b/lib/nvmf/nvmf_internal.h @@ -337,8 +337,6 @@ struct spdk_nvmf_subsystem { uint32_t *ana_group; }; -int nvmf_poll_group_add_transport(struct spdk_nvmf_poll_group *group, - struct spdk_nvmf_transport *transport); int nvmf_poll_group_update_subsystem(struct spdk_nvmf_poll_group *group, struct spdk_nvmf_subsystem *subsystem); int nvmf_poll_group_add_subsystem(struct spdk_nvmf_poll_group *group,