From 41c309b430389b28f34de1f8867a2ba0ccd9a3eb Mon Sep 17 00:00:00 2001 From: Tomasz Zawadzki Date: Mon, 22 Nov 2021 15:58:49 +0100 Subject: [PATCH] lib/sock: create common lookup for spdk_sock_group_impl Next patch in series will look up the struct spdk_sock_group_impl from spdk_sock_group in spdk_sock_get_optimal_sock_group(). Since this is third place it will be used, make this function common. Signed-off-by: Tomasz Zawadzki Change-Id: I43d6472016782e78709c1d52aa74abf594e5bfe6 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/10347 Community-CI: Broadcom CI Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins Reviewed-by: Aleksey Marchuk Reviewed-by: Jim Harris --- lib/sock/sock.c | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/lib/sock/sock.c b/lib/sock/sock.c index 8437d6f04..9f96be111 100644 --- a/lib/sock/sock.c +++ b/lib/sock/sock.c @@ -53,6 +53,19 @@ struct spdk_sock_placement_id_entry { STAILQ_ENTRY(spdk_sock_placement_id_entry) link; }; +static inline struct spdk_sock_group_impl * +sock_get_group_impl_from_group(struct spdk_sock *sock, struct spdk_sock_group *group) +{ + struct spdk_sock_group_impl *group_impl = NULL; + + STAILQ_FOREACH_FROM(group_impl, &group->group_impls, link) { + if (sock->net_impl == group_impl->net_impl) { + return group_impl; + } + } + return NULL; +} + int spdk_sock_map_insert(struct spdk_sock_map *map, int placement_id, struct spdk_sock_group_impl *group) @@ -541,12 +554,7 @@ spdk_sock_group_add_sock(struct spdk_sock_group *group, struct spdk_sock *sock, return -1; } - STAILQ_FOREACH_FROM(group_impl, &group->group_impls, link) { - if (sock->net_impl == group_impl->net_impl) { - break; - } - } - + group_impl = sock_get_group_impl_from_group(sock, group); if (group_impl == NULL) { errno = EINVAL; return -1; @@ -571,12 +579,7 @@ spdk_sock_group_remove_sock(struct spdk_sock_group *group, struct spdk_sock *soc struct spdk_sock_group_impl *group_impl = NULL; int rc; - STAILQ_FOREACH_FROM(group_impl, &group->group_impls, link) { - if (sock->net_impl == group_impl->net_impl) { - break; - } - } - + group_impl = sock_get_group_impl_from_group(sock, group); if (group_impl == NULL) { errno = EINVAL; return -1;