Author: tfaber Date: Fri May 1 13:56:37 2015 New Revision: 67496
URL: http://svn.reactos.org/svn/reactos?rev=67496&view=rev Log: [BLUE][CDFS] - Arch, don't assume the driver you see in the backtrace is one that needs fixing. CDFS is the one who's a file system driver here...
Modified: trunk/reactos/drivers/filesystems/cdfs/cdfs.c trunk/reactos/drivers/filesystems/cdfs/cdfs.h trunk/reactos/drivers/setup/blue/blue.c
Modified: trunk/reactos/drivers/filesystems/cdfs/cdfs.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/filesystems/cdfs/cd... ============================================================================== --- trunk/reactos/drivers/filesystems/cdfs/cdfs.c [iso-8859-1] (original) +++ trunk/reactos/drivers/filesystems/cdfs/cdfs.c [iso-8859-1] Fri May 1 13:56:37 2015 @@ -99,6 +99,10 @@ DriverObject->MajorFunction[IRP_MJ_DEVICE_CONTROL] = CdfsDeviceControl;
+ CdfsGlobalData->FastIoDispatch.FastIoRead = CdfsFastIoRead; + CdfsGlobalData->FastIoDispatch.FastIoWrite = CdfsFastIoWrite; + DriverObject->FastIoDispatch = &CdfsGlobalData->FastIoDispatch; + DriverObject->DriverUnload = NULL;
/* Cache manager */ @@ -141,3 +145,49 @@
ExReleaseResourceLite(&(Fcb->MainResource)); } + +BOOLEAN +NTAPI +CdfsFastIoRead( + _In_ PFILE_OBJECT FileObject, + _In_ PLARGE_INTEGER FileOffset, + _In_ ULONG Length, + _In_ BOOLEAN Wait, + _In_ ULONG LockKey, + _Out_ PVOID Buffer, + _Out_ PIO_STATUS_BLOCK IoStatus, + _In_ PDEVICE_OBJECT DeviceObject) +{ + DBG_UNREFERENCED_PARAMETER(FileObject); + DBG_UNREFERENCED_PARAMETER(FileOffset); + DBG_UNREFERENCED_PARAMETER(Length); + DBG_UNREFERENCED_PARAMETER(Wait); + DBG_UNREFERENCED_PARAMETER(LockKey); + DBG_UNREFERENCED_PARAMETER(Buffer); + DBG_UNREFERENCED_PARAMETER(IoStatus); + DBG_UNREFERENCED_PARAMETER(DeviceObject); + return FALSE; +} + +BOOLEAN +NTAPI +CdfsFastIoWrite( + _In_ PFILE_OBJECT FileObject, + _In_ PLARGE_INTEGER FileOffset, + _In_ ULONG Length, + _In_ BOOLEAN Wait, + _In_ ULONG LockKey, + _In_ PVOID Buffer, + _Out_ PIO_STATUS_BLOCK IoStatus, + _In_ PDEVICE_OBJECT DeviceObject) +{ + DBG_UNREFERENCED_PARAMETER(FileObject); + DBG_UNREFERENCED_PARAMETER(FileOffset); + DBG_UNREFERENCED_PARAMETER(Length); + DBG_UNREFERENCED_PARAMETER(Wait); + DBG_UNREFERENCED_PARAMETER(LockKey); + DBG_UNREFERENCED_PARAMETER(Buffer); + DBG_UNREFERENCED_PARAMETER(IoStatus); + DBG_UNREFERENCED_PARAMETER(DeviceObject); + return FALSE; +}
Modified: trunk/reactos/drivers/filesystems/cdfs/cdfs.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/filesystems/cdfs/cd... ============================================================================== --- trunk/reactos/drivers/filesystems/cdfs/cdfs.h [iso-8859-1] (original) +++ trunk/reactos/drivers/filesystems/cdfs/cdfs.h [iso-8859-1] Fri May 1 13:56:37 2015 @@ -174,7 +174,7 @@
#define MAX_PATH 260
-typedef struct _CDFS_SHORT_NAME +typedef struct _CDFS_SHORT_NAME { LIST_ENTRY Entry; LARGE_INTEGER StreamOffset; @@ -244,6 +244,7 @@ PDEVICE_OBJECT DeviceObject; ULONG Flags; CACHE_MANAGER_CALLBACKS CacheMgrCallbacks; + FAST_IO_DISPATCH FastIoDispatch; } CDFS_GLOBAL_DATA, *PCDFS_GLOBAL_DATA;
extern PCDFS_GLOBAL_DATA CdfsGlobalData; @@ -429,9 +430,9 @@
VOID CdfsShortNameCacheGet -(PFCB DirectoryFcb, - PLARGE_INTEGER StreamOffset, - PUNICODE_STRING LongName, +(PFCB DirectoryFcb, + PLARGE_INTEGER StreamOffset, + PUNICODE_STRING LongName, PUNICODE_STRING ShortName);
/* rw.c */ @@ -480,4 +481,7 @@ VOID NTAPI CdfsReleaseFromLazyWrite(IN PVOID Context);
+FAST_IO_READ CdfsFastIoRead; +FAST_IO_WRITE CdfsFastIoWrite; + #endif /* CDFS_H */
Modified: trunk/reactos/drivers/setup/blue/blue.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/setup/blue/blue.c?r... ============================================================================== --- trunk/reactos/drivers/setup/blue/blue.c [iso-8859-1] (original) +++ trunk/reactos/drivers/setup/blue/blue.c [iso-8859-1] Fri May 1 13:56:37 2015 @@ -88,8 +88,6 @@ 0xFF, 0xFF, 0xFF };
-static FAST_IO_DISPATCH ScrFastIoDispatch; - /* FUNCTIONS **************************************************************/
static VOID FASTCALL @@ -794,82 +792,6 @@ return Status; }
-static DRIVER_DISPATCH ScrDispatch; -static NTSTATUS NTAPI -ScrDispatch(PDEVICE_OBJECT DeviceObject, - PIRP Irp) -{ - PIO_STACK_LOCATION stk = IoGetCurrentIrpStackLocation(Irp); - NTSTATUS Status; - - switch (stk->MajorFunction) - { - case IRP_MJ_CLOSE: - Status = STATUS_SUCCESS; - break; - - default: - Status = STATUS_NOT_IMPLEMENTED; - break; - } - - - Irp->IoStatus.Status = Status; - IoCompleteRequest (Irp, IO_NO_INCREMENT); - - return (Status); -} - -static FAST_IO_READ ScrFastIoRead; -static -BOOLEAN -NTAPI -ScrFastIoRead( - _In_ PFILE_OBJECT FileObject, - _In_ PLARGE_INTEGER FileOffset, - _In_ ULONG Length, - _In_ BOOLEAN Wait, - _In_ ULONG LockKey, - _Out_ PVOID Buffer, - _Out_ PIO_STATUS_BLOCK IoStatus, - _In_ PDEVICE_OBJECT DeviceObject) -{ - DBG_UNREFERENCED_PARAMETER(FileObject); - DBG_UNREFERENCED_PARAMETER(FileOffset); - DBG_UNREFERENCED_PARAMETER(Length); - DBG_UNREFERENCED_PARAMETER(Wait); - DBG_UNREFERENCED_PARAMETER(LockKey); - DBG_UNREFERENCED_PARAMETER(Buffer); - DBG_UNREFERENCED_PARAMETER(IoStatus); - DBG_UNREFERENCED_PARAMETER(DeviceObject); - return FALSE; -} - -static FAST_IO_WRITE ScrFastIoWrite; -static -BOOLEAN -NTAPI -ScrFastIoWrite( - _In_ PFILE_OBJECT FileObject, - _In_ PLARGE_INTEGER FileOffset, - _In_ ULONG Length, - _In_ BOOLEAN Wait, - _In_ ULONG LockKey, - _In_ PVOID Buffer, - _Out_ PIO_STATUS_BLOCK IoStatus, - _In_ PDEVICE_OBJECT DeviceObject) -{ - DBG_UNREFERENCED_PARAMETER(FileObject); - DBG_UNREFERENCED_PARAMETER(FileOffset); - DBG_UNREFERENCED_PARAMETER(Length); - DBG_UNREFERENCED_PARAMETER(Wait); - DBG_UNREFERENCED_PARAMETER(LockKey); - DBG_UNREFERENCED_PARAMETER(Buffer); - DBG_UNREFERENCED_PARAMETER(IoStatus); - DBG_UNREFERENCED_PARAMETER(DeviceObject); - return FALSE; -} - /* * Module entry point */ @@ -888,10 +810,6 @@ DriverObject->MajorFunction[IRP_MJ_READ] = ScrDispatch; DriverObject->MajorFunction[IRP_MJ_WRITE] = ScrWrite; DriverObject->MajorFunction[IRP_MJ_DEVICE_CONTROL ] = ScrIoControl; - - ScrFastIoDispatch.FastIoRead = ScrFastIoRead; - ScrFastIoDispatch.FastIoWrite = ScrFastIoWrite; - DriverObject->FastIoDispatch = &ScrFastIoDispatch;
Status = IoCreateDevice (DriverObject, sizeof(DEVICE_EXTENSION),