linux/fs/afs
David Howells 0a5143f2f8 afs: Implement VL server rotation
Track VL servers as independent entities rather than lumping all their
addresses together into one set and implement server-level rotation by:

 (1) Add the concept of a VL server list, where each server has its own
     separate address list.  This code is similar to the FS server list.

 (2) Use the DNS resolver to retrieve a set of servers and their associated
     addresses, ports, preference and weight ratings.

 (3) In the case of a legacy DNS resolver or an address list given directly
     through /proc/net/afs/cells, create a list containing just a dummy
     server record and attach all the addresses to that.

 (4) Implement a simple rotation policy, for the moment ignoring the
     priorities and weights assigned to the servers.

 (5) Show the address list through /proc/net/afs/<cell>/vlservers.  This
     also displays the source and status of the data as indicated by the
     upcall.

Signed-off-by: David Howells <dhowells@redhat.com>
2018-10-24 00:41:07 +01:00
..
addr_list.c afs: Implement VL server rotation 2018-10-24 00:41:07 +01:00
afs_cm.h
afs_fs.h afs: Prospectively look up extra files when doing a single lookup 2018-04-09 21:12:31 +01:00
afs_vl.h afs: Make use of the YFS service upgrade to fully support IPv6 2017-11-13 15:38:19 +00:00
afs.h afs: Rearrange status mapping 2018-04-09 21:53:59 +01:00
cache.c fscache: Pass object size in rather than calling back for it 2018-04-06 14:05:14 +01:00
callback.c afs: Optimise callback breaking by not repeating volume lookup 2018-06-15 15:27:09 +01:00
cell.c afs: Implement VL server rotation 2018-10-24 00:41:07 +01:00
cmservice.c afs: Set up the iov_iter before calling afs_extract_data() 2018-10-24 00:41:07 +01:00
dir_edit.c afs: Locally edit directory data for mkdir/create/unlink/... 2018-04-09 21:54:48 +01:00
dir.c afs_try_auto_mntpt(): return NULL instead of ERR_PTR(-ENOENT) 2018-08-05 15:50:59 -04:00
dynroot.c afs: Implement VL server rotation 2018-10-24 00:41:07 +01:00
file.c afs: Fix whole-volume callback handling 2018-05-14 15:15:18 +01:00
flock.c afs: Fix whole-volume callback handling 2018-05-14 15:15:18 +01:00
fsclient.c afs: Set up the iov_iter before calling afs_extract_data() 2018-10-24 00:41:07 +01:00
inode.c afs: Better tracing of protocol errors 2018-10-24 00:41:07 +01:00
internal.h afs: Implement VL server rotation 2018-10-24 00:41:07 +01:00
Kconfig
main.c afs: Fix cell proc list 2018-10-12 13:18:57 +02:00
Makefile afs: Implement VL server rotation 2018-10-24 00:41:07 +01:00
misc.c afs: Consolidate abort_to_error translators 2017-11-13 15:38:17 +00:00
mntpt.c afs: Support the AFS dynamic root 2018-02-06 14:43:37 +00:00
netdevices.c afs: Implement network namespacing 2018-05-23 12:01:15 +01:00
proc.c afs: Implement VL server rotation 2018-10-24 00:41:07 +01:00
rotate.c afs: Improve FS server rotation error handling 2018-10-24 00:41:07 +01:00
rxrpc.c afs: Set up the iov_iter before calling afs_extract_data() 2018-10-24 00:41:07 +01:00
security.c afs: Fix directory permissions check 2018-05-16 21:35:23 +01:00
server_list.c afs: Fix refcounting in callback registration 2018-05-14 13:17:35 +01:00
server.c afs: Implement VL server rotation 2018-10-24 00:41:07 +01:00
super.c afs: Display manually added cells in dynamic root mount 2018-06-15 15:27:09 +01:00
vl_list.c afs: Implement VL server rotation 2018-10-24 00:41:07 +01:00
vl_rotate.c afs: Implement VL server rotation 2018-10-24 00:41:07 +01:00
vlclient.c afs: Implement VL server rotation 2018-10-24 00:41:07 +01:00
volume.c afs: Implement VL server rotation 2018-10-24 00:41:07 +01:00
write.c fs/afs: use new return type vm_fault_t 2018-08-23 18:48:43 -07:00
xattr.c afs: Overhaul volume and server record caching and fileserver rotation 2017-11-13 15:38:19 +00:00
xdr_fs.h afs: Adjust the directory XDR structures 2018-04-09 21:54:48 +01:00