diff options
| author | David Howells <[email protected]> | 2023-10-30 16:40:57 +0000 |
|---|---|---|
| committer | David Howells <[email protected]> | 2023-12-24 15:22:51 +0000 |
| commit | a2aff7b5eb2584b8cb45820de025f786331eddc1 (patch) | |
| tree | 7e753a70b9d358c990da96978fcd49ccd93b1c93 | |
| parent | 72904d7b9bfbf2dd146254edea93958bc35bbbfe (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 <[email protected]>
cc: Marc Dionne <[email protected]>
cc: [email protected]
| -rw-r--r-- | fs/afs/rotate.c | 2 | ||||
| -rw-r--r-- | fs/afs/vl_rotate.c | 2 |
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; } |