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
This commit is contained in:
David Howells 2023-10-30 16:40:57 +00:00
parent 72904d7b9b
commit a2aff7b5eb
2 changed files with 2 additions and 2 deletions

View File

@ -427,7 +427,7 @@ pick_server:
if (!test_bit(i, &op->untried) || if (!test_bit(i, &op->untried) ||
!test_bit(AFS_SERVER_FL_RESPONDING, &s->flags)) !test_bit(AFS_SERVER_FL_RESPONDING, &s->flags))
continue; continue;
if (s->probe.rtt < rtt) { if (s->probe.rtt <= rtt) {
op->index = i; op->index = i;
rtt = s->probe.rtt; rtt = s->probe.rtt;
} }

View File

@ -201,7 +201,7 @@ pick_server:
if (!test_bit(i, &vc->untried) || if (!test_bit(i, &vc->untried) ||
!test_bit(AFS_VLSERVER_FL_RESPONDING, &s->flags)) !test_bit(AFS_VLSERVER_FL_RESPONDING, &s->flags))
continue; continue;
if (s->probe.rtt < rtt) { if (s->probe.rtt <= rtt) {
vc->index = i; vc->index = i;
rtt = s->probe.rtt; rtt = s->probe.rtt;
} }