OpenAFS Master Repository branch, master, updated. openafs-devel-1_9_2-64-g18b4243

Gerrit Code Review gerrit@openafs.org
Wed, 8 Jan 2025 11:33:10 -0500


The following commit has been merged in the master branch:
commit 18b4243772c361c460ee255f7ddabbecbee5071c
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Jan 7 16:25:35 2025 -0600

    rx: Include rx_lwp.h et al in fallback rx_atomic.h
    
    In rx_atomic.h, our "fallback" implementation of atomics uses a global
    lock, using our afs_kmutex_t/MUTEX_ENTER() abstractions, but rx_atomic.h
    doesn't include any headers to define afs_kmutex_t et al. Most callers
    include rx_lwp.h or an equivalent before rx_atomic.h, but this is not
    guaranteed, and tests/rx/atomic-t.c (for example) does not do this.
    
    If someone tries to build OpenAFS on a platform that doesn't have a more
    specific rx atomic implementation, this means that building atomic-t
    fails:
    
        In file included from /.../tests/rx/atomic-t.c:34:
        /.../include/rx/rx_atomic.h: In function ‘rx_atomic_set’:
        /.../include/rx/rx_atomic.h:402:5: error: implicit declaration of function ‘MUTEX_ENTER’ [-Werror=implicit-function-declaration]
             MUTEX_ENTER(&rx_atomic_mutex);
             ^~~~~~~~~~~
        /.../include/rx/rx_atomic.h:402:18: error: ‘rx_atomic_mutex’ undeclared (first use in this function); did you mean ‘rx_atomic_set’?
             MUTEX_ENTER(&rx_atomic_mutex);
                          ^~~~~~~~~~~~~~~
                          rx_atomic_set
    
    To fix this, include rx_lwp.h in the "fallback" branch of rx_atomic.h
    (or rx_kmutex.h for the kernel, or rx_pthread.h for pthreads). This
    should ensure that our locking abstractions are defined appropriately so
    we can use the rx_atomic_mutex global lock.
    
    Change-Id: Ie281161f4920a5b6b5b23acd77f7677806245673
    Reviewed-on: https://gerrit.openafs.org/16062
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Ben Huntsman <ben@huntsmans.net>
    Tested-by: Ben Huntsman <ben@huntsmans.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>

 src/rx/rx_atomic.h | 8 ++++++++
 1 file changed, 8 insertions(+)

-- 
OpenAFS Master Repository