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