[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20231109154004.3317227-12-dhowells@redhat.com>
Date: Thu, 9 Nov 2023 15:39:34 +0000
From: David Howells <dhowells@...hat.com>
To: Marc Dionne <marc.dionne@...istor.com>
Cc: David Howells <dhowells@...hat.com>, linux-afs@...ts.infradead.org,
linux-fsdevel@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: [PATCH 11/41] 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@...hat.com>
cc: Marc Dionne <marc.dionne@...istor.com>
cc: linux-afs@...ts.infradead.org
---
fs/afs/rotate.c | 2 +-
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 1c8f26a7f128..689acb0ad64b 100644
--- a/fs/afs/rotate.c
+++ b/fs/afs/rotate.c
@@ -426,7 +426,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;
}
diff --git a/fs/afs/vl_rotate.c b/fs/afs/vl_rotate.c
index af445e7d3a12..6e29272ffa8e 100644
--- a/fs/afs/vl_rotate.c
+++ b/fs/afs/vl_rotate.c
@@ -195,7 +195,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;
}
Powered by blists - more mailing lists