OpenAFS Master Repository branch, master, updated. BP--openafs-stable-1_6_x-1577-g12fa5b8

Gerrit Code Review gerrit@openafs.org
Wed, 31 Aug 2011 11:38:09 -0700 (PDT)


The following commit has been merged in the master branch:
commit 12fa5b859b857aaf0ab6975ebac0d4867d0ae0ff
Author: Derrick Brashear <shadow@dementix.org>
Date:   Mon Aug 22 14:56:03 2011 -0400

    xvcb lock order violation
    
    afs_FlushVCBs(1) = xvcb, xserver (in that order)
    
    afs_GetServer = xserver, xsrvAddr, (call afs_RemoveSrvAddr which calls
    afs_FlushServer, which gets xvcb)
    
    "nope". do a little dance to get xvcb, searching for a struct server to reuse
    again if we had to block.
    
    if you're curious:
    Lock afs_xserver status: (reader_waitingwriter_waiting, write_locked(pid:1589 at:36), 3 waiters)
    Lock afs_xvcb status: (none_waiting, write_locked(pid:0 at:273))
    Lock afs_xsrvAddr status: (none_waiting, write_locked(pid:1589 at:116))
    
    Change-Id: If295d0b9ce347c1cc24df12cd9934a30dce2a3c6
    Reviewed-on: http://gerrit.openafs.org/5294
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Derrick Brashear <shadow@dementix.org>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

 src/afs/afs_prototypes.h |    1 -
 src/afs/afs_server.c     |   60 +++++++++++++++++++++++++++++++++++----------
 2 files changed, 46 insertions(+), 15 deletions(-)

-- 
OpenAFS Master Repository