From 5682de86c45ff251f0eda9008c2765cfb962a9a0 Mon Sep 17 00:00:00 2001 From: Shuhei Matsumoto Date: Fri, 17 Jul 2020 18:40:38 +0900 Subject: [PATCH] lib/iscsi: Add iscsi_portal_grp_find_portal_by_addr() as a helper function Signed-off-by: Shuhei Matsumoto Change-Id: Ieec2b9871d931c7ee394bc16444f5a283a9655bf Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/3438 Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins Reviewed-by: Ben Walker Reviewed-by: Jim Harris Reviewed-by: Paul Luse --- lib/iscsi/portal_grp.c | 15 +++++++++++++++ lib/iscsi/portal_grp.h | 3 +++ 2 files changed, 18 insertions(+) diff --git a/lib/iscsi/portal_grp.c b/lib/iscsi/portal_grp.c index 36065bf74..78e3bb48a 100644 --- a/lib/iscsi/portal_grp.c +++ b/lib/iscsi/portal_grp.c @@ -341,6 +341,21 @@ iscsi_portal_grp_add_portal(struct spdk_iscsi_portal_grp *pg, TAILQ_INSERT_TAIL(&pg->head, p, per_pg_tailq); } +struct spdk_iscsi_portal * +iscsi_portal_grp_find_portal_by_addr(struct spdk_iscsi_portal_grp *pg, + const char *host, const char *port) +{ + struct spdk_iscsi_portal *p; + + TAILQ_FOREACH(p, &pg->head, per_pg_tailq) { + if (!strcmp(p->host, host) && !strcmp(p->port, port)) { + return p; + } + } + + return NULL; +} + int iscsi_portal_grp_set_chap_params(struct spdk_iscsi_portal_grp *pg, bool disable_chap, bool require_chap, diff --git a/lib/iscsi/portal_grp.h b/lib/iscsi/portal_grp.h index 7ac72e36c..3a50fc5ad 100644 --- a/lib/iscsi/portal_grp.h +++ b/lib/iscsi/portal_grp.h @@ -70,6 +70,9 @@ void iscsi_portal_destroy(struct spdk_iscsi_portal *p); struct spdk_iscsi_portal_grp *iscsi_portal_grp_create(int tag); void iscsi_portal_grp_add_portal(struct spdk_iscsi_portal_grp *pg, struct spdk_iscsi_portal *p); +struct spdk_iscsi_portal *iscsi_portal_grp_find_portal_by_addr( + struct spdk_iscsi_portal_grp *pg, const char *host, const char *port); + void iscsi_portal_grp_destroy(struct spdk_iscsi_portal_grp *pg); void iscsi_portal_grp_release(struct spdk_iscsi_portal_grp *pg); int iscsi_parse_portal_grps(void);