]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
Windows: Increase AFS DeviceObject StackSize
authorJeffrey Altman <jaltman@your-file-system.com>
Fri, 15 Mar 2013 15:40:29 +0000 (11:40 -0400)
committerJeffrey Altman <jaltman@your-file-system.com>
Mon, 18 Mar 2013 11:53:12 +0000 (04:53 -0700)
Increase the StackSize parameter of the DeviceObjects allocated
by the AFS Redirector framework.  The StackSize parameter is used
to notify callers how many Irp Stack frames will be consumed.  Now
that the redirector is using IoCompletion routines, an additional
stack frame is required to handle calls to the AFS Redirector library
driver.

Thanks to Peter Scott for identifying the solution.

FIXES 131618

Change-Id: Ib66f884911f0d425e6e07f338a36b3ebedeb8871
Reviewed-on: http://gerrit.openafs.org/9609
Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
src/WINNT/afsrdr/kernel/fs/AFSGeneric.cpp
src/WINNT/afsrdr/kernel/fs/AFSRDRSupport.cpp

index a9962625b71b33c0bbe84abc07ac18c2c6eaddc0..543348096895873d17eed010a21c13f5a16a5a1d 100644 (file)
@@ -808,6 +808,14 @@ AFSInitializeControlDevice()
         pDeviceExt->Specific.Control.AuthGroupTree.TreeLock = &pDeviceExt->Specific.Control.AuthGroupTreeLock;
 
         pDeviceExt->Specific.Control.AuthGroupTree.TreeHead = NULL;
+
+        //
+        // Increase the StackSize to support the extra stack frame required
+        // for use of IoCompletion routines.
+        //
+
+        AFSDeviceObject->StackSize++;
+
     }
 
     return ntStatus;
index 4fd6172493840b44074efb3de0e899f556ce5ce2..05372eb8c9effd32d9aa22f0aa5161826636bcd6 100644 (file)
@@ -131,6 +131,13 @@ AFSInitRDRDevice()
 
         AFSRDRDeviceObject->Flags &= ~DO_DEVICE_INITIALIZING;
 
+        //
+        // Increase the StackSize to support the extra stack frame required
+        // for use of IoCompletion routines.
+        //
+
+        AFSRDRDeviceObject->StackSize++;
+
         //
         // Register this device with MUP with FilterMgr if Vista or above
         //