MINOR: server: mark referenced servers as non purgeable

Mark servers that are referenced by configuration elements as non
purgeable. This includes the following list :
- tracked servers
- servers referenced in a use-server rule
- servers referenced in a sample fetch
This commit is contained in:
Amaury Denoyelle 2021-08-23 14:05:07 +02:00
parent 5cca48cba2
commit 0626961ad3
3 changed files with 4 additions and 0 deletions

View File

@ -2841,6 +2841,7 @@ int check_config_validity()
}
ha_free(&srule->srv.name);
srule->srv.ptr = target;
target->flags |= SRV_F_NON_PURGEABLE;
}
/* find the target table for 'stick' rules */

View File

@ -1214,6 +1214,8 @@ int smp_resolve_args(struct proxy *p, char **err)
break;
}
srv->flags |= SRV_F_NON_PURGEABLE;
chunk_destroy(&arg->data.str);
arg->unresolved = 0;
arg->data.srv = srv;

View File

@ -4928,6 +4928,7 @@ int srv_apply_track(struct server *srv, struct proxy *curproxy)
srv->track = strack;
srv->tracknext = strack->trackers;
strack->trackers = srv;
strack->flags |= SRV_F_NON_PURGEABLE;
ha_free(&srv->trackit);