libafs: vldb cache timeout option (-volume-ttl)
commit2a13973985bc7e190364d208c590ec42dbccf81b
authorMichael Meffie <mmeffie@sinenomine.net>
Thu, 11 Jun 2015 17:14:27 +0000 (11 13:14 -0400)
committerBenjamin Kaduk <kaduk@mit.edu>
Thu, 2 Mar 2017 04:07:20 +0000 (1 23:07 -0500)
tree90cd34839725014d23570af9345a1d792214a682
parent3893ed397283b0c3605def102004a645a325d476
libafs: vldb cache timeout option (-volume-ttl)

The unix cache manager caches VLDB information for read-only volumes as
long as a volume callback is held for a read-only volume.  The volume
callback may be held as long as files in the read-only volume are being
accessed.  The cache manager caches VLDB information for read/write
volumes as long as volume level errors (such as VMOVED) are not returned
by a fileserver while accessing files within the volume.

Add a new option to set the maximum amount of time VLDB information will
be cached, even if a callback is still held for a read-only volume, or
no volume errors have been encounted while accessing files in read/write
volumes.

This avoids situations where the vldb information is cached indefinitely
for read-only and read/write volumes.  Instead, the VL servers will be
periodically probed for volume information.

Change-Id: I5f2a57cdaf5cbe7b1bc0440ed6408226cc988fed
Reviewed-on: https://gerrit.openafs.org/11898
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
doc/man-pages/pod8/afsd.pod
src/afs/afs.h
src/afs/afs_call.c
src/afs/afs_volume.c
src/afsd/afsd.c
src/config/afs_args.h