OpenAFS Master Repository branch, master, updated. openafs-devel-1_5_76-2369-g779c27b

Gerrit Code Review gerrit@openafs.org
Tue, 10 Apr 2012 05:49:25 -0700 (PDT)


The following commit has been merged in the master branch:
commit 779c27bf1daaf01c79c0bb7c687781151abb4383
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Apr 9 18:41:13 2012 -0400

    Windows: Refactor AFSValidateEntry
    
    Refactor AFSValidateEntry to avoid obtaining the
    ObjectInformation->Fcb->Resource when it isn't necessary.
    This will avoid contention and improve performance.
    
    The only time that the Fcb->Resource is required is when
    the object requires verification, the object is a FILE,
    and the object was successfully evaluated.
    
    Even with this reorganization there is a small window
    of opportunity for a deadlock to occur if a CcPurgeCacheSection()
    which is called with the Fcb->Resource held triggers a filter
    driver to issue a CreateFile and in between the two operations
    an invalidate object is received.
    
    Change-Id: Iddf64f030c6a608ac29a10b7a9a7e130ae6c4249
    Reviewed-on: http://gerrit.openafs.org/7143
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

 src/WINNT/afsrdr/kernel/lib/AFSCreate.cpp  |    2 -
 src/WINNT/afsrdr/kernel/lib/AFSGeneric.cpp |  171 +++++++++++++---------------
 2 files changed, 80 insertions(+), 93 deletions(-)

-- 
OpenAFS Master Repository