]> asedeno.scripts.mit.edu Git - linux.git/commit
afs: Probe multiple fileservers simultaneously
authorDavid Howells <dhowells@redhat.com>
Fri, 19 Oct 2018 23:57:59 +0000 (00:57 +0100)
committerDavid Howells <dhowells@redhat.com>
Tue, 23 Oct 2018 23:41:09 +0000 (00:41 +0100)
commit3bf0fb6f33dd545693da5e65f5b1b9b9f0bfc35e
treedf215e6a6ad11b6ac8158461144667e168591d28
parent18ac61853cc4e44eb30e125fc8344a3b25c7b6fe
afs: Probe multiple fileservers simultaneously

Send probes to all the unprobed fileservers in a fileserver list on all
addresses simultaneously in an attempt to find out the fastest route whilst
not getting stuck for 20s on any server or address that we don't get a
reply from.

This alleviates the problem whereby attempting to access a new server can
take a long time because the rotation algorithm ends up rotating through
all servers and addresses until it finds one that responds.

Signed-off-by: David Howells <dhowells@redhat.com>
17 files changed:
fs/afs/Makefile
fs/afs/addr_list.c
fs/afs/cmservice.c
fs/afs/fs_probe.c [new file with mode: 0644]
fs/afs/fsclient.c
fs/afs/internal.h
fs/afs/proc.c
fs/afs/rotate.c
fs/afs/rxrpc.c
fs/afs/server.c
fs/afs/server_list.c
fs/afs/vl_list.c
fs/afs/vl_probe.c [new file with mode: 0644]
fs/afs/vl_rotate.c
fs/afs/vlclient.c
fs/afs/volume.c
include/trace/events/afs.h