-
- Downloads
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>
Showing
- fs/afs/Makefile 2 additions, 0 deletionsfs/afs/Makefile
- fs/afs/addr_list.c 84 additions, 79 deletionsfs/afs/addr_list.c
- fs/afs/cell.c 20 additions, 19 deletionsfs/afs/cell.c
- fs/afs/dynroot.c 1 addition, 1 deletionfs/afs/dynroot.c
- fs/afs/internal.h 101 additions, 13 deletionsfs/afs/internal.h
- fs/afs/proc.c 68 additions, 22 deletionsfs/afs/proc.c
- fs/afs/server.c 12 additions, 30 deletionsfs/afs/server.c
- fs/afs/vl_list.c 336 additions, 0 deletionsfs/afs/vl_list.c
- fs/afs/vl_rotate.c 251 additions, 0 deletionsfs/afs/vl_rotate.c
- fs/afs/vlclient.c 14 additions, 18 deletionsfs/afs/vlclient.c
- fs/afs/volume.c 16 additions, 36 deletionsfs/afs/volume.c
Loading
Please register or sign in to comment