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