OpenAFS Master Repository branch, openafs-devel-1_7_x, updated. openafs-devel-1_7_4-38-gfb04de2
Gerrit Code Review
gerrit@openafs.org
Tue, 3 Jan 2012 18:42:14 -0800 (PST)
The following commit has been merged in the openafs-devel-1_7_x branch:
commit 198968075125a362f2cd90ae71e81892767469c1
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date: Fri Dec 30 01:34:51 2011 -0500
Windows: AFSDirEnumResp and AFSDirEnumEntry changes
A directory enumeration is not an atomic operation. The redirector
reads an enumeration a chunk at a time. During the entire enumeration
it is possible that the data version of the directory object has
changed due to entries being added or removed. This patchset adds
two data version values to the AFSDirEnumResp structure.
The first is the snapshot data version which is the dv of the
directory object at the time the entry list snapshot was taken.
The second is the current data version number of the directory
object.
If an object has been removed from the directory after the snapshot
was taken, attempts to fetch status information for the object will
fail with a VNOVNODE (aka CM_ERROR_BADFD aka STATUS_INVALID_HANDLE).
The NTStatus field has been added to the AFSDirEnumEntry structure
to permit notifying the redirector of such failures.
RDR_PopulateCurrentEntry() has been extended with an additional
cm_Error parameter that accepts the errorCode field provided by
the cm_direnum_entry_t object constructed during the enumeration.
Reviewed-on: http://gerrit.openafs.org/6455
Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
(cherry picked from commit d64983bab047ad6349d2edfe2ffa35b484529889)
Change-Id: Ia5907625e172069e24b4b3df3015b9564efbe961
Reviewed-on: http://gerrit.openafs.org/6486
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/AFSUserStructs.h | 6 ++
src/WINNT/afsrdr/user/RDRFunction.c | 125 +++++++++++++++++-------------
2 files changed, 77 insertions(+), 54 deletions(-)
--
OpenAFS Master Repository