From 01df17d007d51286ef7e3a2442937f32b816ff35 Mon Sep 17 00:00:00 2001 From: Shuhei Matsumoto Date: Mon, 2 Sep 2019 13:58:26 +0900 Subject: [PATCH] nvmf/fc: Use pointer stored in transport_poll_group and remove it from fc_poll_group The pointer to nvmf_poll_group is set in nvmf_transport_poll_group_create() after returning nvmf_fc_poll_group_create(). Hence holding it into struct spdk_nvmf_fc_poll_group is duplicated and can be removed. Signed-off-by: Shuhei Matsumoto Change-Id: I7087c5cdb94b0b0c5f51b0b63b631c08266c90d0 Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/466842 Reviewed-by: Anil Veerabhadrappa Reviewed-by: Ben Walker Reviewed-by: Paul Luse Reviewed-by: Jim Harris Reviewed-by: Broadcom SPDK FC-NVMe CI Tested-by: SPDK CI Jenkins --- lib/nvmf/fc.c | 9 +-------- lib/nvmf/nvmf_fc.h | 1 - test/unit/lib/nvmf/fc_ls.c/fc_ls_ut.c | 3 +-- 3 files changed, 2 insertions(+), 11 deletions(-) diff --git a/lib/nvmf/fc.c b/lib/nvmf/fc.c index da0fa55b1..7e9d7a6d5 100644 --- a/lib/nvmf/fc.c +++ b/lib/nvmf/fc.c @@ -513,7 +513,7 @@ spdk_nvmf_fc_poll_group_add_hwqp(struct spdk_nvmf_fc_hwqp *hwqp) return; } - hwqp->thread = fgroup->poll_group->thread; + hwqp->thread = fgroup->tp_poll_group.group->thread; hwqp->fgroup = fgroup; fgroup->hwqp_count++; spdk_nvmf_fc_poller_api_func(hwqp, SPDK_NVMF_FC_POLLER_API_ADD_HWQP, NULL); @@ -1992,7 +1992,6 @@ static struct spdk_nvmf_transport_poll_group * nvmf_fc_poll_group_create(struct spdk_nvmf_transport *transport) { struct spdk_nvmf_fc_poll_group *fgroup; - struct spdk_io_channel *ch; struct spdk_nvmf_fc_transport *fc_transport = SPDK_CONTAINEROF(transport, struct spdk_nvmf_fc_transport, transport); @@ -2010,12 +2009,6 @@ nvmf_fc_poll_group_create(struct spdk_nvmf_transport *transport) g_nvmf_fgroup_count++; pthread_mutex_unlock(&fc_transport->lock); - ch = spdk_get_io_channel(g_nvmf_fc_transport->transport.tgt); - if (ch) { - fgroup->poll_group = spdk_io_channel_get_ctx(ch); - spdk_put_io_channel(ch); - } - return &fgroup->tp_poll_group; } diff --git a/lib/nvmf/nvmf_fc.h b/lib/nvmf/nvmf_fc.h index ca2200c99..ae59953ff 100644 --- a/lib/nvmf/nvmf_fc.h +++ b/lib/nvmf/nvmf_fc.h @@ -264,7 +264,6 @@ struct spdk_nvmf_fc_xchg { */ struct spdk_nvmf_fc_poll_group { struct spdk_nvmf_transport_poll_group tp_poll_group; - struct spdk_nvmf_poll_group *poll_group; struct spdk_nvmf_tgt *nvmf_tgt; struct spdk_nvmf_fc_transport *fc_transport; uint32_t hwqp_count; /* number of hwqp's assigned to this pg */ diff --git a/test/unit/lib/nvmf/fc_ls.c/fc_ls_ut.c b/test/unit/lib/nvmf/fc_ls.c/fc_ls_ut.c index 5ff954bc7..1bd4ad154 100644 --- a/test/unit/lib/nvmf/fc_ls.c/fc_ls_ut.c +++ b/test/unit/lib/nvmf/fc_ls.c/fc_ls_ut.c @@ -708,8 +708,7 @@ ls_tests_init(void) TAILQ_INIT(&g_poll_group[i].tgroups); TAILQ_INIT(&g_poll_group[i].qpairs); g_fgroup[i].tp_poll_group.transport = &g_nvmf_transport; - g_fgroup[i].poll_group = &g_poll_group[i]; - g_fgroup[i].nvmf_tgt = &g_nvmf_tgt; + g_fgroup[i].tp_poll_group.group = &g_poll_group[i]; hwqp->fgroup = &g_fgroup[i]; }