OpenAFS Master Repository branch, openafs-stable-1_6_x, updated. openafs-stable-1_6_0pre1-16-g0f48add

Gerrit Code Review gerrit@openafs.org
Sun, 9 Jan 2011 20:28:41 -0800 (PST)


The following commit has been merged in the openafs-stable-1_6_x branch:
commit 72e2b1119136315a5845c7af00aa73456985d6fa
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Sat Nov 6 00:02:31 2010 -0400

    FBSD: close race in afs_root
    
    Previously, we called afs_PutVCache(afs_globalVp) directly.  This
    is unsafe because PutVCache acquires locks which can sleep, losing
    the serialization of the GLOCK.  In rare circumstances, this can
    result in two threads simultaneously making that call, and the
    second one would panic in vputx() with a negative refcount.
    Close the race by using a local variable for the afs_PutVCache()
    calls, applying the change to afs_globalVp before dropping the GLOCK.
    While here, fix up other race conditions.
    
    Change-Id: I4733489d50d3459172ee2eb021190d013f68018a
    Reviewed-on: http://gerrit.openafs.org/3275
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-on: http://gerrit.openafs.org/3631
    Tested-by: Derrick Brashear <shadow@dementia.org>

 src/afs/FBSD/osi_vfsops.c |   36 ++++++++++++++++++++++++------------
 1 files changed, 24 insertions(+), 12 deletions(-)

-- 
OpenAFS Master Repository