OpenAFS Master Repository branch, master, updated. openafs-devel-1_5_76-2089-g6185532
Gerrit Code Review
gerrit@openafs.org
Tue, 10 Jan 2012 19:52:42 -0800 (PST)
The following commit has been merged in the master branch:
commit ba4f5afc9c68f74587c7a9669571c2c32cb7a13b
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date: Wed Jan 4 00:02:42 2012 -0500
Windows: Directory Enumeration, DVs, and TreeLocks
Hold the TreeLock exclusively across all operations that
enumerate, validate, or otherwise manipulate directory tree
lists or data versions.
Take the data version into account when deciding what to do
with directory data. If a directory enumeration takes more
than one request to service and the DV has changed from the
time the directory snapshop was taken by the service and the
enumeration completion, merge in the changes and then mark
the directory as requiring verification.
If a directory change operation completes (create, rename, remove)
and the directory DV has changed by more than one force a full
directory verification.
Set the directory data version to -1 whenever a directory
verification is required. Otherwise, the check to clear the
VERIFY flag will only update the metadata for the directory.
During a directory verification, if a new entry has been discovered
it is added to the directory. Make sure the VALID flag is set so
that the entry will not immediately be removed as invalid.
Change-Id: I6be8d00126fccf88bde8ae5f97e850dfb9a2f60f
Reviewed-on: http://gerrit.openafs.org/6460
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
src/WINNT/afsrdr/kernel/lib/AFSCleanup.cpp | 152 +++++-
src/WINNT/afsrdr/kernel/lib/AFSCommSupport.cpp | 634 ++++++++++++++++++++----
src/WINNT/afsrdr/kernel/lib/AFSCreate.cpp | 4 +-
src/WINNT/afsrdr/kernel/lib/AFSGeneric.cpp | 2 +
src/WINNT/afsrdr/kernel/lib/AFSNameSupport.cpp | 117 ++++-
5 files changed, 764 insertions(+), 145 deletions(-)
--
OpenAFS Master Repository