OpenAFS Master Repository branch, openafs-devel-1_7_x, updated. openafs-devel-1_7_4-27-g688044b
Gerrit Code Review
gerrit@openafs.org
Tue, 3 Jan 2012 18:39:49 -0800 (PST)
The following commit has been merged in the openafs-devel-1_7_x branch:
commit 688044b50c9dbe270c3166c65648855b2bfa9761
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date: Thu Dec 29 22:20:38 2011 -0500
Windows: add DV and error status to dir enumerations
The cm_BPlusDirEnum family of functions are atomic when generating
the directory enumeration but are not atomic with respect to the
rest of the system as the enumeration is accessed. Therefore, the
data version of the directory at the time the enumeration is created
may not be the same as the directory version when the enumeration
is fully processed. We therefore store the initial data version in the
cm_direnum_t object.
When the enumeration is fetching status information for each of the
directory entries, it is possible that the fetch status will fail.
We therefore store the fetch status error code in the cm_direnum_entry_t
object. By doing so, the consumer of the enumeration can make a
reasonable decision about the lack of status info. For example,
if the resulting error is CM_ERROR_BADFD it is known that the entry
has been removed from the directory since the initial enumeration.
Reviewed-on: http://gerrit.openafs.org/6452
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 ad3c00520b93174808f692ced3e35261030a8c1b)
Change-Id: Ic843e33af6e461922850d04a83ad630d4834a695
Reviewed-on: http://gerrit.openafs.org/6476
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
src/WINNT/afsd/cm_btree.c | 273 ++++++++++++++++++++++++++++++++++-----------
src/WINNT/afsd/cm_btree.h | 2 +
2 files changed, 208 insertions(+), 67 deletions(-)
--
OpenAFS Master Repository