OpenAFS Master Repository branch, openafs-stable-1_6_x, updated. openafs-stable-1_6_0b-222-g05f3dcd

Gerrit Code Review gerrit@openafs.org
Fri, 16 Dec 2011 03:05:07 -0800 (PST)


The following commit has been merged in the openafs-stable-1_6_x branch:
commit b18653de7ae90491c2e75f4a98410581655d776c
Author: Derrick Brashear <shadow@dementix.org>
Date:   Tue Aug 23 00:20:37 2011 -0400

    xserver lock order violation
    
    individual volume locks are pretty far down, well after afs_xserver.
    
    afs_SetupVolume (with tv->lock)-> InstallUVolumeEntry-> afs_GetServer.
    
    Install*Volume is careful to protect against recursing into the volume
    lock via ResetVolumeInfo. Unfortunately, GetServer acquires xserver,
    and then if it needs to call GetCapabilities, it drops and reacquires
    xserver.
    
    turns out the volume locks weren't protecting much. they also aren't
    grabbed before xvolume is dropped. fine, so, restructure to do all the
    work, then merge the result.
    
    Reviewed-on: http://gerrit.openafs.org/5303
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    (cherry picked from commit 16dff61e148ce6893a68dda6e05e84f96fa753ac)
    
    Change-Id: I7ca73fe9cf76e9a47cdccfc6cf0e9188fce9f5a6
    Reviewed-on: http://gerrit.openafs.org/6309
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

 src/afs/DOC/afs_rwlocks  |    4 +
 src/afs/afs_analyze.c    |    7 +-
 src/afs/afs_cell.c       |    2 +-
 src/afs/afs_pioctl.c     |    2 +-
 src/afs/afs_prototypes.h |   20 +++---
 src/afs/afs_server.c     |   55 ++++++++++----
 src/afs/afs_volume.c     |  185 ++++++++++++++++++++++++----------------------
 7 files changed, 155 insertions(+), 120 deletions(-)

-- 
OpenAFS Master Repository