OpenAFS Master Repository branch, master, updated. BP--openafs-stable-1_6_x-342-gaad83a3

Gerrit Code Review gerrit@openafs.org
Fri, 29 Oct 2010 12:04:41 -0700 (PDT)


The following commit has been merged in the master branch:
commit aad83a30a82407bfa6ac15b49fd31d69b563e898
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Fri Oct 29 03:18:02 2010 -0400

    FBSD: correct and simplify vcache eviction routines
    
    osi_VM_FlushVCache and osi_TryEvictVCache were both attempting
    to be wrappers around vgone(), with some checks before hand.
    Implement the latter in terms of the former to prevent
    code duplication and propagation of incorrect code.
    
    Additionally, correct the locking around vgone().  The
    vnode lock must be held, and we must also increase the vnode's
    hold count so that it does not disappear out from under us.
    As we need the interlock to check the usecount, keep it
    locked until we lock the vnode lock, for extra protection.
    
    As an added bonus, we no longer try to call vgonel(), which
    is not an exported symbol and merely happened to work due
    to the current kernel linker implementation.
    
    Remove some stale comments.
    
    With this change, a parallel buildworld completes on
    my four-core machine.
    
    Change-Id: I665607da25518ddd786869b139d87baed8a05e9f
    Reviewed-on: http://gerrit.openafs.org/3196
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

 src/afs/FBSD/osi_vcache.c |   48 +++++++++-----------------------------
 src/afs/FBSD/osi_vm.c     |   56 +++++++++++++++++++-------------------------
 2 files changed, 35 insertions(+), 69 deletions(-)

-- 
OpenAFS Master Repository