OpenAFS Master Repository branch, master, updated. openafs-devel-1_5_76-3386-gcb414f6

Gerrit Code Review gerrit@openafs.org
Thu, 14 Feb 2013 06:54:59 -0800 (PST)


The following commit has been merged in the master branch:
commit cb414f6899212f314313a781b63486661e9d1394
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.
    
    Change-Id: I8cc47a5cedfd4e7bf0db55efffc5e95be5172e85
    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>

 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