OpenAFS Master Repository branch, master, updated. openafs-devel-1_9_2-285-gb7f4d36

Gerrit Code Review gerrit@openafs.org
Thu, 31 Jul 2025 10:49:42 -0400


The following commit has been merged in the master branch:
commit b7f4d36241e143a855ead90bd133cc0664fb9ff6
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Dec 1 22:55:41 2022 -0600

    LINUX: Disable osi_dnlc
    
    The DNLC ("directory name lookup cache") is our cross-platform way of
    caching lookups of directory items, so we can sometimes avoid hitting
    the (disk) cache when running afs_lookup().
    
    The Linux kernel has its own (much more sophisticated) directory name
    caching layer: the dcache, represented by 'struct dentry's (unrelated
    to our data cache / 'struct dcache'). Maintaining our own cache is
    rather pointless, and just adds overhead and creates more
    possibilities to make mistakes (as can be seen by the number of
    special cases in afs_lookup() to avoid the DNLC).
    
    So, just disable the DNLC on LINUX by default by setting the existing
    afs_usednlc global to 0. At least for now, still build the DNLC code to
    avoid bitrot if we want to turn it back on. Add a sysctl for afs_usednlc
    so developers can turn it back on for benchmarking or other testing.
    Declare afs_usednlc in afs_prototypes.h next to the other osi_dnlc
    routines.
    
    Change-Id: I822742150551c7b0e93926c8d7fbd01c13d96475
    Reviewed-on: https://gerrit.openafs.org/15213
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>

 src/afs/LINUX/osi_sysctl.c | 2 ++
 src/afs/afs_osidnlc.c      | 4 ++++
 src/afs/afs_prototypes.h   | 2 ++
 3 files changed, 8 insertions(+)

-- 
OpenAFS Master Repository