- FS Devices don't need a device queue, optimize the call away.
Modified: trunk/reactos/ntoskrnl/io/device.c
_____
Modified: trunk/reactos/ntoskrnl/io/device.c
--- trunk/reactos/ntoskrnl/io/device.c 2005-08-05 21:16:51 UTC (rev
17084)
+++ trunk/reactos/ntoskrnl/io/device.c 2005-08-05 21:25:52 UTC (rev
17085)
@@ -545,7 +545,20 @@
}
/* Create the Device Queue */
- KeInitializeDeviceQueue(&CreatedDeviceObject->DeviceQueue);
+ if (CreatedDeviceObject->DeviceType == FILE_DEVICE_DISK_FILE_SYSTEM
||
+ CreatedDeviceObject->DeviceType == FILE_DEVICE_FILE_SYSTEM ||
+ CreatedDeviceObject->DeviceType ==
FILE_DEVICE_CD_ROM_FILE_SYSTEM ||
+ CreatedDeviceObject->DeviceType ==
FILE_DEVICE_NETWORK_FILE_SYSTEM ||
+ CreatedDeviceObject->DeviceType ==
FILE_DEVICE_TAPE_FILE_SYSTEM)
+ {
+ /* Simple FS Devices, they don't need a real Device Queue */
+ InitializeListHead(&CreatedDeviceObject->Queue.ListEntry);
+ }
+ else
+ {
+ /* An actual Device, initialize its DQ */
+ KeInitializeDeviceQueue(&CreatedDeviceObject->DeviceQueue);
+ }
/* Insert the Object */
Status = ObInsertObject(CreatedDeviceObject,
Show replies by date