OpenAFS Master Repository branch, openafs-devel-1_7_x, updated. openafs-devel-1_7_7-9-g954305c

Gerrit Code Review gerrit@openafs.org
Sat, 3 Mar 2012 23:41:48 -0800 (PST)


The following commit has been merged in the openafs-devel-1_7_x branch:
commit 48d638644c8278193c7f95d7a4b6218eb5d3104e
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.
    
    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>
    (cherry picked from commit fdf1dfc5f92fcd149a7ae0945e4458993b2ad61e)
    
    Change-Id: I6eb5300cb7d3a98ffe9eb5301dcc6ef24fdf7a7b
    Reviewed-on: http://gerrit.openafs.org/6865
    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