summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2023-10-30 16:40:57 +0000
committerDavid Howells <dhowells@redhat.com>2023-12-24 15:22:51 +0000
commita2aff7b5eb2584b8cb45820de025f786331eddc1 (patch)
tree7e753a70b9d358c990da96978fcd49ccd93b1c93
parent72904d7b9bfbf2dd146254edea93958bc35bbbfe (diff)
afs: Don't skip server addresses for which we didn't get an RTT reading
In the rotation algorithms for iterating over volume location servers and file servers, don't skip servers from which we got a valid response to a probe (either a reply DATA packet or an ABORT) even if we didn't manage to get an RTT reading. Signed-off-by: David Howells <dhowells@redhat.com> cc: Marc Dionne <marc.dionne@auristor.com> cc: linux-afs@lists.infradead.org
-rw-r--r--fs/afs/rotate.c2
-rw-r--r--fs/afs/vl_rotate.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/fs/afs/rotate.c b/fs/afs/rotate.c
index 59aed7a6dd11..d420f073300b 100644
--- a/fs/afs/rotate.c
+++ b/fs/afs/rotate.c
@@ -427,7 +427,7 @@ pick_server:
if (!test_bit(i, &op->untried) ||
!test_bit(AFS_SERVER_FL_RESPONDING, &s->flags))
continue;
- if (s->probe.rtt < rtt) {
+ if (s->probe.rtt <= rtt) {
op->index = i;
rtt = s->probe.rtt;
}
diff --git a/fs/afs/vl_rotate.c b/fs/afs/vl_rotate.c
index f8f255c966ae..6aaa2e4733ec 100644
--- a/fs/afs/vl_rotate.c
+++ b/fs/afs/vl_rotate.c
@@ -201,7 +201,7 @@ pick_server:
if (!test_bit(i, &vc->untried) ||
!test_bit(AFS_VLSERVER_FL_RESPONDING, &s->flags))
continue;
- if (s->probe.rtt < rtt) {
+ if (s->probe.rtt <= rtt) {
vc->index = i;
rtt = s->probe.rtt;
}