@@ -427,7 +427,7 @@ bool afs_select_fileserver(struct afs_operation *op)
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;
}
@@ -201,7 +201,7 @@ bool afs_select_vlserver(struct afs_vl_cursor *vc)
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;
}
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 --- fs/afs/rotate.c | 2 +- fs/afs/vl_rotate.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)