OpenAFS Master Repository branch, master, updated. openafs-devel-1_5_76-2217-gfdf1dfc

Gerrit Code Review gerrit@openafs.org
Sat, 3 Mar 2012 15:22:00 -0800 (PST)


The following commit has been merged in the master branch:
commit fdf1dfc5f92fcd149a7ae0945e4458993b2ad61e
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Mar 2 10:52:35 2012 -0500

    Windows: Avoid deadlock in invalidation path
    
    During data version invalidation the AFS redirector must CcPurge
    any non-dirty extents on a file. This operation can be intercepted
    by a filter driver which in turn might open the file and close it
    again before the CcPurge completes.
    
    The AFSPerformObjectInvalidate call holds the ExtentsResource
    shared which can deadlock if AFSClose attempts an extent tear down
    which requires exclusive access to the ExtentsResource.
    
    Change-Id: I7cb0289d8036aabf56bb11fd12a79308be45faa8
    Reviewed-on: http://gerrit.openafs.org/6856
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

 src/WINNT/afsrdr/common/AFSRedirCommonDefines.h   |    2 +-
 src/WINNT/afsrdr/kernel/lib/AFSExtentsSupport.cpp |  100 +++++++
 src/WINNT/afsrdr/kernel/lib/AFSGeneric.cpp        |  285 +++++++++++++++++----
 src/WINNT/afsrdr/kernel/lib/Include/AFSCommon.h   |    5 +
 src/WINNT/afsrdr/kernel/lib/Include/AFSStructs.h  |    9 +
 5 files changed, 350 insertions(+), 51 deletions(-)

-- 
OpenAFS Master Repository