afs: Use the serverUnique field in the UVLDB record to reduce rpc ops
authorDavid Howells <dhowells@redhat.com>
Thu, 16 Apr 2020 16:05:28 +0000 (17:05 +0100)
committerDavid Howells <dhowells@redhat.com>
Sun, 31 May 2020 14:19:51 +0000 (15:19 +0100)
commit810068059234551b6973b46ca572e654f0c5e665
treeed26ef4ccce3b30d5b20c731234e763dea699eba
parent13fcc6356a94558a0a4857dc00cd26b3834a1b3e
afs: Use the serverUnique field in the UVLDB record to reduce rpc ops

The U-version VLDB volume record retrieved by the VL.GetEntryByNameU rpc op
carries a change counter (the serverUnique field) for each fileserver
listed in the record as backing that volume.  This is incremented whenever
the registration details for a fileserver change (such as its address
list).  Note that the same value will be seen in all UVLDB records that
refer to that fileserver.

This should be checked before calling the VL server to re-query the address
list for a fileserver.  If it's the same, there's no point doing the query.

Reported-by: Jeffrey Altman <jaltman@auristor.com>
Signed-off-by: David Howells <dhowells@redhat.com>
fs/afs/internal.h
fs/afs/server.c
fs/afs/server_list.c
fs/afs/vlclient.c