]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
CLEANUP: server: use server_find_by_name() where relevant
authorWilly Tarreau <w@1wt.eu>
Thu, 10 Jul 2025 09:10:36 +0000 (11:10 +0200)
committerWilly Tarreau <w@1wt.eu>
Tue, 15 Jul 2025 08:30:28 +0000 (10:30 +0200)
Instead of open-coding a tree lookup, in sticking rules and server_find(),
let's just rely on server_find_by_name() which now does exactly the same.

src/server.c
src/stream.c

index b924b31364a500d14090c2b473cd04dd7f8b73ec..c0a0bd5520c31182c7b27872fefbc2ffecc3290c 100644 (file)
@@ -4039,11 +4039,7 @@ struct server *server_find(struct proxy *bk, const char *name)
                curserver = server_find_by_id(bk, atoi(name + 1));
        }
        else {
-               struct ebpt_node *node;
-
-               node = ebis_lookup(&bk->conf.used_server_name, name);
-               if (node)
-                       curserver = container_of(node, struct server, conf.name);
+               curserver = server_find_by_name(bk, name);
        }
 
        return curserver;
index f6e32a50fc94daba83d3d60bd8c1389ee688ba5a..33d51493b83b10a26cee1774a3835e22743a758d 100644 (file)
@@ -1265,11 +1265,9 @@ static inline void sticking_rule_find_target(struct stream *s,
                struct ebpt_node *node;
 
                if (t->server_key_type == STKTABLE_SRV_NAME) {
-                       node = ebis_lookup(&px->conf.used_server_name, de->value.key);
-                       if (node) {
-                               srv = container_of(node, struct server, conf.name);
+                       srv = server_find_by_name(px, de->value.key);
+                       if (srv)
                                goto found;
-                       }
                } else if (t->server_key_type == STKTABLE_SRV_ADDR) {
                        HA_RWLOCK_RDLOCK(PROXY_LOCK, &px->lock);
                        node = ebis_lookup(&px->used_server_addr, de->value.key);