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