[MOUNTMGR]
authorPierre Schweitzer <pierre@reactos.org>
Sat, 19 Sep 2015 14:50:04 +0000 (14:50 +0000)
committerPierre Schweitzer <pierre@reactos.org>
Sat, 19 Sep 2015 14:50:04 +0000 (14:50 +0000)
Our ReconcileThisDatabaseWithMasterWorker() routine will expect two parameters: the device extension + the device to which reconcile remote database.
So, fix our code accordingly

svn path=/trunk/; revision=69291

reactos/drivers/filters/mountmgr/device.c
reactos/drivers/filters/mountmgr/mntmgr.h

index a84a16a..67a108f 100644 (file)
@@ -1467,6 +1467,7 @@ MountMgrQueryDosVolumePaths(IN PDEVICE_EXTENSION DeviceExtension,
     ULONG Attempts, OutputLength;
     PMOUNTMGR_TARGET_NAME Target;
     PMOUNTMGR_VOLUME_PATHS Paths, Output;
+    RECONCILE_WORK_ITEM_CONTEXT ReconcileContext;
     PDEVICE_INFORMATION DeviceInformation, ListDeviceInfo, FailedDevice;
 
     Stack = IoGetCurrentIrpStackLocation(Irp);
@@ -1535,8 +1536,10 @@ MountMgrQueryDosVolumePaths(IN PDEVICE_EXTENSION DeviceExtension,
         }
 
         /* Reconcile database */
+        ReconcileContext.DeviceExtension = DeviceExtension;
+        ReconcileContext.DeviceInformation = FailedDevice;
         KeReleaseSemaphore(&DeviceExtension->DeviceLock, IO_NO_INCREMENT, 1, FALSE);
-        ReconcileThisDatabaseWithMasterWorker(&DeviceExtension);
+        ReconcileThisDatabaseWithMasterWorker(&ReconcileContext);
         KeWaitForSingleObject(&DeviceExtension->DeviceLock, Executive, KernelMode, FALSE, NULL);
 
         /* Look for our device, to check it's online */
index a7f496c..01d12e3 100644 (file)
@@ -128,14 +128,19 @@ typedef struct _ONLINE_NOTIFICATION_WORK_ITEM
     UNICODE_STRING SymbolicName;                                  // 0x14
 } ONLINE_NOTIFICATION_WORK_ITEM, *PONLINE_NOTIFICATION_WORK_ITEM; // 0x1C
 
+typedef struct _RECONCILE_WORK_ITEM_CONTEXT
+{
+    PDEVICE_EXTENSION DeviceExtension;
+    PDEVICE_INFORMATION DeviceInformation;
+} RECONCILE_WORK_ITEM_CONTEXT, *PRECONCILE_WORK_ITEM_CONTEXT;
+
 typedef struct _RECONCILE_WORK_ITEM
 {
     LIST_ENTRY WorkerQueueListEntry;            // 0x00
     PIO_WORKITEM WorkItem;                      // 0x08
     PWORKER_THREAD_ROUTINE WorkerRoutine;       // 0x0C
     PVOID Context;                              // 0x10
-    PDEVICE_EXTENSION DeviceExtension;          // 0x14
-    PDEVICE_INFORMATION DeviceInformation;      // 0x18
+    RECONCILE_WORK_ITEM_CONTEXT;                // 0x14
 } RECONCILE_WORK_ITEM, *PRECONCILE_WORK_ITEM;   // 0x1C
 
 typedef struct _MIGRATE_WORK_ITEM