From fc7e847539487a8cb7f3553789048bb13b19a7f0 Mon Sep 17 00:00:00 2001 From: GangCao Date: Tue, 16 Jan 2018 20:06:52 -0500 Subject: [PATCH] nvmf: check whether the transport already in poll group Add a check when adding transport in the poll group. If already there, just return. The poll_group_add_transport operation can be called at the poll group creation and target listen both. Change-Id: I655d6fa97cafdc11fa23d199bdfe31350b920ca4 Signed-off-by: GangCao Reviewed-on: https://review.gerrithub.io/395039 Reviewed-by: Daniel Verkamp Tested-by: SPDK Automated Test System Reviewed-by: Ben Walker --- lib/nvmf/nvmf.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/nvmf/nvmf.c b/lib/nvmf/nvmf.c index d780953fe..76623c1d7 100644 --- a/lib/nvmf/nvmf.c +++ b/lib/nvmf/nvmf.c @@ -398,6 +398,13 @@ spdk_nvmf_poll_group_add_transport(struct spdk_nvmf_poll_group *group, { 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 = spdk_nvmf_transport_poll_group_create(transport); if (!tgroup) { SPDK_ERRLOG("Unable to create poll group for transport\n");