CLEANUP: backend: fix incorrect comments on locking conditions for lb functions

The leastconn and roundrobin functions mention that the server's lock
must be held while this is not true at all and it is not used either.
The "first" algo doesn't mention anything about the need for locking,
so let's mention that it uses the lbprm lock.
This commit is contained in:
Willy Tarreau 2021-06-01 16:58:31 +02:00
parent 3b9cb60059
commit 63b3ae7ca3
4 changed files with 7 additions and 3 deletions

View File

@ -316,6 +316,8 @@ int chash_server_is_eligible(struct server *s)
* will still both receive traffic. If any server is found, it will be returned.
* It will also skip server <avoid> if the hash result ends on this one.
* If no valid server is found, NULL is returned.
*
* The lbprm's lock will be used in R/O mode. The server's lock is not used.
*/
struct server *chash_get_server_hash(struct proxy *p, unsigned int hash, const struct server *avoid)
{
@ -386,6 +388,8 @@ struct server *chash_get_server_hash(struct proxy *p, unsigned int hash, const s
/* Return next server from the CHASH tree in backend <p>. If the tree is empty,
* return NULL. Saturated servers are skipped.
*
* The lbprm's lock will be used in R/W mode. The server's lock is not used.
*/
struct server *chash_get_next_server(struct proxy *p, struct server *srvtoavoid)
{

View File

@ -292,7 +292,7 @@ void fas_init_server_tree(struct proxy *p)
/* Return next server from the FS tree in backend <p>. If the tree is empty,
* return NULL. Saturated servers are skipped.
*
* The server's lock must be held. The lbprm's lock will be used.
* The lbprm's lock will be used. The server's lock is not used.
*/
struct server *fas_get_next_server(struct proxy *p, struct server *srvtoavoid)
{

View File

@ -317,7 +317,7 @@ void fwlc_init_server_tree(struct proxy *p)
/* Return next server from the FWLC tree in backend <p>. If the tree is empty,
* return NULL. Saturated servers are skipped.
*
* The server's lock must be held. The lbprm's lock will be used.
* The lbprm's lock will be used in R/O mode. The server's lock is not used.
*/
struct server *fwlc_get_next_server(struct proxy *p, struct server *srvtoavoid)
{

View File

@ -506,7 +506,7 @@ static inline void fwrr_update_position(struct fwrr_group *grp, struct server *s
* the init tree if appropriate. If both trees are empty, return NULL.
* Saturated servers are skipped and requeued.
*
* The lbprm's lock will be used. The server's lock is not used.
* The lbprm's lock will be used in R/W mode. The server's lock is not used.
*/
struct server *fwrr_get_next_server(struct proxy *p, struct server *srvtoavoid)
{