OpenAFS Master Repository branch, openafs-devel-1_7_x, updated. openafs-devel-1_7_21-100-ge46d8f9
Gerrit Code Review
gerrit@openafs.org
Thu, 14 Feb 2013 17:25:02 -0800 (PST)
The following commit has been merged in the openafs-devel-1_7_x branch:
commit a526a3e6453c6432f36c38f1bf6629f12b62ce5c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date: Thu Feb 7 16:53:45 2013 -0500
Windows: RXAFS_BulkStat failures
The RXAFS_BulkStat RPC is quite brain dead. The client requests
status information on up to AFSCBMAX FIDs. The file server replies
success only if all of the client credentials provide access to
all of the requested FIDs. If status info cannot be provided
for any one of the FIDs, the error code of the failure is returned
with no context as to which FID failed.
To simplify the logic within the cache manager a new local error
code, CM_ERROR_BULKSTAT_FAILURE is introduced to replace whatever
error was received from the file server. This error is returned
by cm_TryBulkStat and cm_TryBulkStatRPC. The caller of either of
those functions should interpret the error to mean that the current
user context cannot be used to perform a bulkstat operation against
the provided cm_scache directory. Instead, individual RXAFS_FetchStatus
operations must be performed.
This patchset implements such error handling for both the SMB and
RDR interfaces. This change permits the Windows cache manager to
properly enumerate a directory for which the user only has list
permission and cannot read the status info for files and symlinks.
Reviewed-on: http://gerrit.openafs.org/9080
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit cb414f6899212f314313a781b63486661e9d1394)
Change-Id: Icec0dc311c6c9152d15d7e61c32a001e651d95ca
Reviewed-on: http://gerrit.openafs.org/9115
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
src/WINNT/afsd/cm_btree.c | 145 ++++++++++++++++++++++++++++++++++++++----
src/WINNT/afsd/cm_error.h | 1 +
src/WINNT/afsd/cm_vnodeops.c | 22 ++++++
src/WINNT/afsd/smb.c | 21 ++++++
src/WINNT/afsd/smb3.c | 21 ++++++
5 files changed, 196 insertions(+), 14 deletions(-)
--
OpenAFS Master Repository