From: Nenad Merdanovic Date: Sun, 12 Mar 2017 20:56:56 +0000 (+0100) Subject: CLEANUP: Replace repeated code to count usable servers with be_usable_srv() X-Git-Tag: v1.8-dev1~95 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2754fbcfd6ce7f812a1c1b59dc8ddb0a44721f95;p=thirdparty%2Fhaproxy.git CLEANUP: Replace repeated code to count usable servers with be_usable_srv() 2 places were using an open-coded implementation of this function to count available servers. Note that the avg_queue_size() fetch didn't check that the proxy was in STOPPED state so it would possibly return a wrong server count here but that wouldn't impact the returned value. Signed-off-by: Nenad Merdanovic --- diff --git a/src/backend.c b/src/backend.c index 5e2b8fc56a..b0e03323a5 100644 --- a/src/backend.c +++ b/src/backend.c @@ -1614,14 +1614,7 @@ smp_fetch_nbsrv(const struct arg *args, struct sample *smp, const char *kw, void smp->data.type = SMP_T_SINT; px = args->data.prx; - if (px->state == PR_STSTOPPED) - smp->data.u.sint = 0; - else if (px->srv_act) - smp->data.u.sint = px->srv_act; - else if (px->lbprm.fbck) - smp->data.u.sint = 1; - else - smp->data.u.sint = px->srv_bck; + smp->data.u.sint = be_usable_srv(px); return 1; } @@ -1780,12 +1773,7 @@ smp_fetch_avg_queue_size(const struct arg *args, struct sample *smp, const char smp->data.type = SMP_T_SINT; px = args->data.prx; - if (px->srv_act) - nbsrv = px->srv_act; - else if (px->lbprm.fbck) - nbsrv = 1; - else - nbsrv = px->srv_bck; + nbsrv = be_usable_srv(px); if (nbsrv > 0) smp->data.u.sint = (px->totpend + nbsrv - 1) / nbsrv;