From 02bc6c22442d3159188bfd330e434a91ba6f768f Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Thu, 7 Jan 2016 12:59:57 +0100 Subject: [PATCH] MINOR: stats: do not use srv->admin & STATS_ADMF_MAINT in HTML dumps We don't want the HTML dump to rely on the server admin bits. We already have this piece of information in the status field. --- src/dumpstats.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/dumpstats.c b/src/dumpstats.c index d9ab2fd5a..7cb423d8b 100644 --- a/src/dumpstats.c +++ b/src/dumpstats.c @@ -3784,7 +3784,7 @@ static int stats_dump_sv_stats(struct stream_interface *si, struct proxy *px, in [SRV_STATS_STATE_NO_CHECK] = "no check", }; - if (sv->admin & SRV_ADMF_MAINT) + if (memcmp(field_str(stats, ST_F_STATUS), "MAINT", 5) == 0) chunk_appendf(&trash, ""); else chunk_appendf(&trash, @@ -3934,9 +3934,8 @@ static int stats_dump_sv_stats(struct stream_interface *si, struct proxy *px, in */ - if (sv->admin & SRV_ADMF_MAINT) { - chunk_appendf(&trash, "%s ", human_time(stats[ST_F_LASTCHG].u.u32, 1)); - chunk_appendf(&trash, "MAINT"); + if (memcmp(field_str(stats, ST_F_STATUS), "MAINT", 5) == 0) { + chunk_appendf(&trash, "%s MAINT", human_time(stats[ST_F_LASTCHG].u.u32, 1)); } else if ((ref->agent.state & CHK_ST_ENABLED) && !(sv->agent.health) && (ref->state == SRV_ST_STOPPED)) { chunk_appendf(&trash, "%s ", human_time(stats[ST_F_LASTCHG].u.u32, 1)); @@ -4030,8 +4029,8 @@ static int stats_dump_sv_stats(struct stream_interface *si, struct proxy *px, in ref->observe ? "/Health Analyses" : "", (long long)stats[ST_F_CHKDOWN].u.u64, human_time(stats[ST_F_DOWNTIME].u.u32, 1)); } - else if (!(sv->admin & SRV_ADMF_FMAINT) && field_format(stats, ST_F_TRACKED) == FF_STR) { - /* tracking a server */ + else if (strcmp(field_str(stats, ST_F_STATUS), "MAINT") != 0 && field_format(stats, ST_F_TRACKED) == FF_STR) { + /* tracking a server (hence inherited maint would appear as "MAINT (via...)" */ chunk_appendf(&trash, "via %s", field_str(stats, ST_F_TRACKED), field_str(stats, ST_F_TRACKED));