OpenAFS Master Repository branch, master, updated. BP--openafs-stable-1_6_x-1584-gf7d0e80

Gerrit Code Review gerrit@openafs.org
Sat, 3 Sep 2011 15:47:25 -0700 (PDT)


The following commit has been merged in the master branch:
commit f7d0e800eba62f4984795cb7b487f6695f6fedcc
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Aug 6 18:24:47 2010 -0400

    Windows: pioctl path retrying with \\afs\all
    
    When the redirector is in use, \\AFS is identified as being an AFS path.
    With the SMB redirector, \\AFS was not considered a valid path.  In order
    to simulate the notion of \\AFS being the root volume, failover logic
    was added to the symlink and fs modules being triggered that
    would retry a request for \\afs\foo as \\afs\all\foo.
    
    The VIOC_SYMLINK and VIOC_AFS_CREATE_MT_PT pioctls are broken.  The
    'path' parameter that is passed in contains the directory entry that
    is to be created.  Since the AFS redirector maps \\afs to the root.afs
    volume the "foo" in \\afs\foo must exist in order for the
    _._AFS_IOCTL_._ special file to be opened.
    
    This patch implements an alternative to the failover.  If the opcode
    is one of the two listed above and the input path is a UNC path,
    then the path is re-written as \\AFS\all.  This is necessary because
    the repeated attempts to open a UNC path through the SMB redirector
    with different usernames can result in the smb session becoming
    disconnected.  If this is done when the SYSTEM account is in use,
    the tokens associated with the connection can be lost.
    
    LICENSE MIT
    
    Change-Id: I2c2f6c08c7ca5c137062d34e1353731b6f78f633
    Reviewed-on: http://gerrit.openafs.org/5336
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

 src/sys/pioctl_nt.c |   91 ++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 90 insertions(+), 1 deletions(-)

-- 
OpenAFS Master Repository