OpenAFS Master Repository branch, master, updated. openafs-devel-1_9_1-499-g8495165

Gerrit Code Review gerrit@openafs.org
Thu, 26 Sep 2024 03:52:08 -0400


The following commit has been merged in the master branch:
commit 8495165c3d5ff3167e1e3e77ade95af4be6b3895
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Sep 8 13:06:12 2021 -0500

    FBSD: Use vrefl() when available
    
    Commit 81ea6544 (FBSD: avoid vrefl()) removed our reference to
    vrefl(), since it was only introduced with FreeBSD 11.0. However, it
    was replaced with calls to vref() and vrele(), the latter of which can
    lock the vnode, and generally is allowed to sleep.
    
    Many osi_vnhold callers hold AFS_GLOCK, which is a non-sleepable lock,
    so this can cause a panic if the vnode is VI_DOOMED and locked by
    another thread.
    
    To avoid this on at least modern FreeBSD releases, use vrefl() when it
    is available (since <https://reviews.freebsd.org/D4953>).
    
    Change-Id: I535af9d58380bb1fd108b8a953b6c26a1c818d94
    Reviewed-on: https://gerrit.openafs.org/14796
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>

 src/afs/FBSD/osi_vcache.c | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

-- 
OpenAFS Master Repository