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.
diff --git a/src/lb_chash.c b/src/lb_chash.c
index 469da71..23b2b12 100644
--- a/src/lb_chash.c
+++ b/src/lb_chash.c
@@ -316,6 +316,8 @@
* 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 @@
/* 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)
{
diff --git a/src/lb_fas.c b/src/lb_fas.c
index 9f6dc24..fb581eb 100644
--- a/src/lb_fas.c
+++ b/src/lb_fas.c
@@ -292,7 +292,7 @@
/* 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)
{
diff --git a/src/lb_fwlc.c b/src/lb_fwlc.c
index 4e1b730..6434896 100644
--- a/src/lb_fwlc.c
+++ b/src/lb_fwlc.c
@@ -317,7 +317,7 @@
/* 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)
{
diff --git a/src/lb_fwrr.c b/src/lb_fwrr.c
index e2cdd9f..d7f618f 100644
--- a/src/lb_fwrr.c
+++ b/src/lb_fwrr.c
@@ -506,7 +506,7 @@
* 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)
{