OpenAFS Master Repository branch, master, updated. openafs-devel-1_9_2-473-g0df660b
Gerrit Code Review
gerrit@openafs.org
Mon, 11 May 2026 10:24:53 -0400
The following commit has been merged in the master branch:
commit 0df660b8e5801bdaf130a6f1bb95224438e000e7
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date: Thu Jan 29 14:27:26 2026 +0000
afs: Invalidate site-less volume entries earlier
As described in commit d5103c0d0e26091cd35cbd5f60fbc90c12578e00 (afs:
Always set volume type for volume entries), the cache manager can create
'struct volume's for volume types (RW/RO/BK) that do not exist in the VL
entry, resulting in cached 'struct volume's that map to no fileserver.
These entries contain no fileserver information and therefore cannot be
used to establish a fileserver connection. While volume entries are
periodically invalidated by the afs background daemon, they may remain
cached for around 2 hours (the typical RO volume callback time). This
can leave the client unable to access the volume for that long even
after the VLDB has been updated with a valid fileserver location for
the volume in question.
When hard-mount is enabled, this means relevant processes will remain
stuck for long periods until the volume entry is eventually invalidated.
Without hard-mount, accessing the volume will throw errors during that
time.
To mitigate this problem, reduce the invalidation interval for site-less
volume entries. These entries are now marked for recheck on a shorter
interval, ranging from at least 5 minutes (afs_siteless_volume_ttl) to
at most 15 minutes (afs_siteless_volume_ttl plus the last10MinCheck
delay). By marking them for recheck sooner, the client can re-fetch the
VLDB entry earlier, which may now include a valid fileserver, and allows
the client to access the volume again.
While this change may introduce more frequent revalidation for site-less
entries, the impact should be limited. Currently, clients can already
generate potentially much higher vldb traffic when repeatedly accessing
non-existent volumes, since VL_NOENT responses are never cached. The
case handled here is more rate-limited, since the site-less entries
remain cached for at least 5 minutes before being revalidated (rather
than on every access attempt).
This change does not modify how site-less volume entries are created or
whether such entries should exist at all. It only limits how long they
can persist and negatively affect client behavior.
Change-Id: Ie65b99a0f0a9be5a7aec7f22f123f7ac6c78629a
Reviewed-on: https://gerrit.openafs.org/16682
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
src/afs/afs_volume.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
--
OpenAFS Master Repository