OpenAFS Master Repository branch, master, updated. BP--openafs-stable-1_6_x-1663-g9399093

Gerrit Code Review gerrit@openafs.org
Thu, 15 Sep 2011 11:28:57 -0700 (PDT)


The following commit has been merged in the master branch:
commit 9399093a767c0638ee247d89d5f8f70b518b9396
Author: Peter Scott <pscott@kerneldrivers.com>
Date:   Thu Sep 15 01:33:20 2011 -0400

    Windows: RDR File System Framework driver
    
    This is the first of two kernel drivers used to implement
    the AFS Redirector: AFSRedir.sys.
    
    This driver is registered at boot time and provides the binding
    to the Windows kernel infrastructure.  However, it only provides
    a framework of a file system driver.  All of the AFS specific
    interfaces are actually implemented in a secondary library
    driver, AFSRedirLib.sys.  The rationale for this model is that
    file system drivers cannot be unloaded on a running system.
    By using this approach the library driver can be unloaded which
    permits systems to be live updated.
    
    To permit this model to work, all memory allocation is performed
    by AFSRedir.sys.  This confuses the driver verifier tool.  When
    the library is unloaded all objects are still valid.  Operation
    is simply paused until a new library is brought up.  Under the
    current configuration the library is loaded as part of afsd_service
    initialization of AFSRedir.sys and is automatically unloaded when
    afsd_service.exe shuts down.
    
    The framework driver also implements all of the process and
    thread tracking logic necessary to support Authentication Groups.
    
    Communication between AFSRedir.sys and afsd_service.exe is
    performed via a reverse ioctl model whereby the service contributes
    threads to the driver to convey requests for processing.
    
    The original file system was derived from the Kernel Drivers
    File System under license from Kernel Drivers, LLC.
    
    Rod Widdowson <rdw@steadingsoftware.com> and Jeffrey Altman
    <jaltman@your-file-system.com> contributed to the development
    of this driver.
    
    Change-Id: Ic123cacd868ddde31d66bf17d3ad2a13c22cd1f4
    Reviewed-on: http://gerrit.openafs.org/5437
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Tested-by: Rod Widdowson <rdw@steadingsoftware.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

 src/WINNT/afsrdr/kernel/fs/AFSAuthGroupSupport.cpp | 1736 +++++++++++++++++
 src/WINNT/afsrdr/kernel/fs/AFSBTreeSupport.cpp     |  413 ++++
 src/WINNT/afsrdr/kernel/fs/AFSCleanup.cpp          |  202 ++
 src/WINNT/afsrdr/kernel/fs/AFSClose.cpp            |  151 ++
 src/WINNT/afsrdr/kernel/fs/AFSCommSupport.cpp      | 1591 +++++++++++++++
 src/WINNT/afsrdr/kernel/fs/AFSCreate.cpp           |  264 +++
 src/WINNT/afsrdr/kernel/fs/AFSData.cpp             |  123 ++
 src/WINNT/afsrdr/kernel/fs/AFSDevControl.cpp       |   90 +
 src/WINNT/afsrdr/kernel/fs/AFSDirControl.cpp       |  119 ++
 src/WINNT/afsrdr/kernel/fs/AFSEa.cpp               |  191 ++
 src/WINNT/afsrdr/kernel/fs/AFSFSControl.cpp        |  108 +
 src/WINNT/afsrdr/kernel/fs/AFSFastIoSupport.cpp    |  510 +++++
 src/WINNT/afsrdr/kernel/fs/AFSFileInfo.cpp         |  232 +++
 src/WINNT/afsrdr/kernel/fs/AFSFlushBuffers.cpp     |   98 +
 src/WINNT/afsrdr/kernel/fs/AFSGeneric.cpp          | 2050 ++++++++++++++++++++
 src/WINNT/afsrdr/kernel/fs/AFSInit.cpp             |  503 +++++
 .../afsrdr/kernel/fs/AFSInternalDevControl.cpp     |   67 +
 src/WINNT/afsrdr/kernel/fs/AFSLibrarySupport.cpp   |  923 +++++++++
 src/WINNT/afsrdr/kernel/fs/AFSLockControl.cpp      |  108 +
 src/WINNT/afsrdr/kernel/fs/AFSLogSupport.cpp       |  756 ++++++++
 .../afsrdr/kernel/fs/AFSNetworkProviderSupport.cpp |  456 +++++
 src/WINNT/afsrdr/kernel/fs/AFSProcessSupport.cpp   |  812 ++++++++
 src/WINNT/afsrdr/kernel/fs/AFSQuota.cpp            |  104 +
 src/WINNT/afsrdr/kernel/fs/AFSRDRSupport.cpp       |  793 ++++++++
 src/WINNT/afsrdr/kernel/fs/AFSRead.cpp             |  111 ++
 src/WINNT/afsrdr/kernel/fs/AFSRedirInstall.inf     |   84 +
 src/WINNT/afsrdr/kernel/fs/AFSSecurity.cpp         |  217 +++
 src/WINNT/afsrdr/kernel/fs/AFSShutdown.cpp         |  100 +
 src/WINNT/afsrdr/kernel/fs/AFSSystemControl.cpp    |   72 +
 src/WINNT/afsrdr/kernel/fs/AFSVolumeInfo.cpp       |  141 ++
 src/WINNT/afsrdr/kernel/fs/AFSWrite.cpp            |  115 ++
 src/WINNT/afsrdr/kernel/fs/Filesystem.rc           |   15 +
 src/WINNT/afsrdr/kernel/fs/Include/AFSCommon.h     |  809 ++++++++
 src/WINNT/afsrdr/kernel/fs/Include/AFSDefines.h    |  348 ++++
 src/WINNT/afsrdr/kernel/fs/Include/AFSExtern.h     |  108 +
 src/WINNT/afsrdr/kernel/fs/Include/AFSStructs.h    |  137 ++
 src/WINNT/afsrdr/kernel/fs/MAKEFILE                |    6 +
 src/WINNT/afsrdr/kernel/fs/sources                 |   46 +
 38 files changed, 14709 insertions(+), 0 deletions(-)

-- 
OpenAFS Master Repository