Windows: Move VolumeWorkerContext to NonPaged pool
authorJeffrey Altman <jaltman@your-file-system.com>
Sun, 27 Jan 2013 04:19:05 +0000 (23:19 -0500)
committerJeffrey Altman <jaltman@your-file-system.com>
Sat, 2 Feb 2013 17:03:02 +0000 (09:03 -0800)
The VolumeWorkerContext contains a KEVENT which must be allocated
from the NonPaged pool.  Move it to the AFSNonPagedVolumeCB struct.

Change-Id: If24ea5f22e6cc7e71328d0d2d8e0c8b9209ce5b2
Reviewed-on: http://gerrit.openafs.org/8992
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/afsrdr/kernel/lib/AFSWorker.cpp
src/WINNT/afsrdr/kernel/lib/Include/AFSStructs.h

index 58f5488..f9b1019 100644 (file)
@@ -380,7 +380,7 @@ AFSInitVolumeWorker( IN AFSVolumeCB *VolumeCB)
 {
 
     NTSTATUS ntStatus = STATUS_SUCCESS;
-    AFSWorkQueueContext *pWorker = &VolumeCB->VolumeWorkerContext;
+    AFSWorkQueueContext *pWorker = &VolumeCB->NonPagedVcb->VolumeWorkerContext;
     HANDLE hThread;
     AFSDeviceExt *pControlDeviceExt = (AFSDeviceExt *)AFSControlDeviceObject->DeviceExtension;
     PKSTART_ROUTINE pStartRoutine = NULL;
@@ -527,7 +527,7 @@ AFSShutdownVolumeWorker( IN AFSVolumeCB *VolumeCB)
 {
 
     NTSTATUS ntStatus = STATUS_SUCCESS;
-    AFSWorkQueueContext *pWorker = &VolumeCB->VolumeWorkerContext;
+    AFSWorkQueueContext *pWorker = &VolumeCB->NonPagedVcb->VolumeWorkerContext;
 
     //
     // Clear the 'keep processing' flag
@@ -955,7 +955,7 @@ AFSPrimaryVolumeWorkerThread( IN PVOID Context)
 
     UNREFERENCED_PARAMETER(Context);
     NTSTATUS ntStatus = STATUS_SUCCESS;
-    AFSWorkQueueContext *pPoolContext = (AFSWorkQueueContext *)&AFSGlobalRoot->VolumeWorkerContext;
+    AFSWorkQueueContext *pPoolContext = (AFSWorkQueueContext *)&AFSGlobalRoot->NonPagedVcb->VolumeWorkerContext;
     AFSDeviceExt *pControlDeviceExt = NULL;
     AFSDeviceExt *pRDRDeviceExt = NULL;
     LARGE_INTEGER DueTime;
index 6c75701..e4d47a9 100644 (file)
@@ -323,7 +323,13 @@ typedef struct _AFS_NON_PAGED_VOLUME_CB
 
     ERESOURCE           DirectoryNodeHdrLock;
 
-}AFSNonPagedVolumeCB;
+    //
+    // Volume worker thread
+    //
+
+    AFSWorkQueueContext       VolumeWorkerContext;
+
+} AFSNonPagedVolumeCB;
 
 typedef struct _AFS_VOLUME_CB
 {
@@ -381,12 +387,6 @@ typedef struct _AFS_VOLUME_CB
     AFSFcb                   *RootFcb;
 
     //
-    // Volume worker thread
-    //
-
-    AFSWorkQueueContext       VolumeWorkerContext;
-
-    //
     // Volume information
     //