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