Author: fireball Date: Sun Jan 11 09:58:57 2009 New Revision: 38700
URL: http://svn.reactos.org/svn/reactos?rev=38700&view=rev Log: - Rewrite DriverEntry. - Start cleaning up structures.
Modified: trunk/reactos/drivers/filesystems/fastfat_new/blockdev.c trunk/reactos/drivers/filesystems/fastfat_new/cleanup.c trunk/reactos/drivers/filesystems/fastfat_new/close.c trunk/reactos/drivers/filesystems/fastfat_new/create.c trunk/reactos/drivers/filesystems/fastfat_new/dir.c trunk/reactos/drivers/filesystems/fastfat_new/fastfat.c trunk/reactos/drivers/filesystems/fastfat_new/fastfat.h trunk/reactos/drivers/filesystems/fastfat_new/fastio.c trunk/reactos/drivers/filesystems/fastfat_new/finfo.c trunk/reactos/drivers/filesystems/fastfat_new/flush.c trunk/reactos/drivers/filesystems/fastfat_new/fsctl.c trunk/reactos/drivers/filesystems/fastfat_new/rw.c trunk/reactos/drivers/filesystems/fastfat_new/volume.c
Modified: trunk/reactos/drivers/filesystems/fastfat_new/blockdev.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/filesystems/fastfat... ============================================================================== --- trunk/reactos/drivers/filesystems/fastfat_new/blockdev.c [iso-8859-1] (original) +++ trunk/reactos/drivers/filesystems/fastfat_new/blockdev.c [iso-8859-1] Sun Jan 11 09:58:57 2009 @@ -24,7 +24,7 @@ }
NTSTATUS -VfatReadDiskPartial (IN PVFAT_IRP_CONTEXT IrpContext, +VfatReadDiskPartial (IN PFAT_IRP_CONTEXT IrpContext, IN PLARGE_INTEGER ReadOffset, IN ULONG ReadLength, ULONG BufferOffset, @@ -35,7 +35,7 @@
NTSTATUS -VfatWriteDiskPartial (IN PVFAT_IRP_CONTEXT IrpContext, +VfatWriteDiskPartial (IN PFAT_IRP_CONTEXT IrpContext, IN PLARGE_INTEGER WriteOffset, IN ULONG WriteLength, IN ULONG BufferOffset,
Modified: trunk/reactos/drivers/filesystems/fastfat_new/cleanup.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/filesystems/fastfat... ============================================================================== --- trunk/reactos/drivers/filesystems/fastfat_new/cleanup.c [iso-8859-1] (original) +++ trunk/reactos/drivers/filesystems/fastfat_new/cleanup.c [iso-8859-1] Sun Jan 11 09:58:57 2009 @@ -14,7 +14,7 @@ /* FUNCTIONS ****************************************************************/
NTSTATUS -VfatCleanup(PVFAT_IRP_CONTEXT IrpContext) +VfatCleanup(PFAT_IRP_CONTEXT IrpContext) { DPRINT("VfatCleanup(DeviceObject %p, Irp %p)\n", IrpContext->DeviceObject, IrpContext->Irp);
Modified: trunk/reactos/drivers/filesystems/fastfat_new/close.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/filesystems/fastfat... ============================================================================== --- trunk/reactos/drivers/filesystems/fastfat_new/close.c [iso-8859-1] (original) +++ trunk/reactos/drivers/filesystems/fastfat_new/close.c [iso-8859-1] Sun Jan 11 09:58:57 2009 @@ -14,7 +14,7 @@ /* FUNCTIONS ****************************************************************/
NTSTATUS -VfatClose(PVFAT_IRP_CONTEXT IrpContext) +VfatClose(PFAT_IRP_CONTEXT IrpContext) { DPRINT("VfatClose(DeviceObject %p, Irp %p)\n", IrpContext->DeviceObject, IrpContext->Irp);
Modified: trunk/reactos/drivers/filesystems/fastfat_new/create.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/filesystems/fastfat... ============================================================================== --- trunk/reactos/drivers/filesystems/fastfat_new/create.c [iso-8859-1] (original) +++ trunk/reactos/drivers/filesystems/fastfat_new/create.c [iso-8859-1] Sun Jan 11 09:58:57 2009 @@ -14,7 +14,7 @@ /* FUNCTIONS *****************************************************************/
NTSTATUS -VfatCreate(PVFAT_IRP_CONTEXT IrpContext) +VfatCreate(PFAT_IRP_CONTEXT IrpContext) { return STATUS_NOT_IMPLEMENTED; }
Modified: trunk/reactos/drivers/filesystems/fastfat_new/dir.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/filesystems/fastfat... ============================================================================== --- trunk/reactos/drivers/filesystems/fastfat_new/dir.c [iso-8859-1] (original) +++ trunk/reactos/drivers/filesystems/fastfat_new/dir.c [iso-8859-1] Sun Jan 11 09:58:57 2009 @@ -14,7 +14,7 @@ /* FUNCTIONS *****************************************************************/
NTSTATUS -VfatDirectoryControl(PVFAT_IRP_CONTEXT IrpContext) +VfatDirectoryControl(PFAT_IRP_CONTEXT IrpContext) { return STATUS_NOT_IMPLEMENTED; }
Modified: trunk/reactos/drivers/filesystems/fastfat_new/fastfat.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/filesystems/fastfat... ============================================================================== --- trunk/reactos/drivers/filesystems/fastfat_new/fastfat.c [iso-8859-1] (original) +++ trunk/reactos/drivers/filesystems/fastfat_new/fastfat.c [iso-8859-1] Sun Jan 11 09:58:57 2009 @@ -1,26 +1,9 @@ /* - * ReactOS kernel - * Copyright (C) 1998, 1999, 2000, 2001 ReactOS Team - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ -/* - * PROJECT: ReactOS kernel - * FILE: drivers/fs/vfat/iface.c - * PURPOSE: VFAT Filesystem - * PROGRAMMER: Jason Filby (jasonfilby@yahoo.com) + * PROJECT: ReactOS FAT file system driver + * LICENSE: GPL - See COPYING in the top level directory + * FILE: drivers/filesystems/fastfat/fastfat.c + * PURPOSE: Initialization routines + * PROGRAMMERS: Aleksey Bragin (aleksey@reactos.org) */
/* INCLUDES *****************************************************************/ @@ -28,103 +11,104 @@ #define NDEBUG #include "fastfat.h"
-/* GLOBALS *****************************************************************/ +/* GLOBALS ******************************************************************/
-PVFAT_GLOBAL_DATA VfatGlobalData; +FAT_GLOBAL_DATA FatGlobalData;
/* FUNCTIONS ****************************************************************/
-NTSTATUS NTAPI +NTSTATUS +NTAPI DriverEntry(PDRIVER_OBJECT DriverObject, - PUNICODE_STRING RegistryPath) -/* - * FUNCTION: Called by the system to initialize the driver - * ARGUMENTS: - * DriverObject = object describing this driver - * RegistryPath = path to our configuration entries - * RETURNS: Success or failure - */ + PUNICODE_STRING RegistryPath) { - PDEVICE_OBJECT DeviceObject; - UNICODE_STRING DeviceName = RTL_CONSTANT_STRING(L"\Fat"); - NTSTATUS Status; + PDEVICE_OBJECT DeviceObject; + UNICODE_STRING DeviceName = RTL_CONSTANT_STRING(L"\Fat"); + NTSTATUS Status;
- Status = IoCreateDevice(DriverObject, - sizeof(VFAT_GLOBAL_DATA), - &DeviceName, - FILE_DEVICE_DISK_FILE_SYSTEM, - 0, - FALSE, - &DeviceObject); + /* Create a device object */ + Status = IoCreateDevice(DriverObject, + 0, + &DeviceName, + FILE_DEVICE_DISK_FILE_SYSTEM, + 0, + FALSE, + &DeviceObject);
- if (Status == STATUS_OBJECT_NAME_EXISTS || - Status == STATUS_OBJECT_NAME_COLLISION) - { - /* Try an other name, if 'Fat' is already in use. 'Fat' is also used by fastfat.sys on W2K */ - RtlInitUnicodeString(&DeviceName, L"\RosFat"); - Status = IoCreateDevice(DriverObject, - sizeof(VFAT_GLOBAL_DATA), - &DeviceName, - FILE_DEVICE_DISK_FILE_SYSTEM, - 0, - FALSE, - &DeviceObject); - } + if (!NT_SUCCESS(Status)) return Status;
+ /* Zero global storage */ + RtlZeroMemory(&FatGlobalData, sizeof(FAT_GLOBAL_DATA)); + FatGlobalData.DriverObject = DriverObject; + FatGlobalData.DiskDeviceObject = DeviceObject;
+ // TODO: Fill major function handlers +#if 0 + DriverObject->MajorFunction[IRP_MJ_CLOSE] = VfatBuildRequest; + DriverObject->MajorFunction[IRP_MJ_CREATE] = VfatBuildRequest; + DriverObject->MajorFunction[IRP_MJ_READ] = VfatBuildRequest; + DriverObject->MajorFunction[IRP_MJ_WRITE] = VfatBuildRequest; + DriverObject->MajorFunction[IRP_MJ_FILE_SYSTEM_CONTROL] = VfatBuildRequest; + DriverObject->MajorFunction[IRP_MJ_QUERY_INFORMATION] = VfatBuildRequest; + DriverObject->MajorFunction[IRP_MJ_SET_INFORMATION] = VfatBuildRequest; + DriverObject->MajorFunction[IRP_MJ_DIRECTORY_CONTROL] = VfatBuildRequest; + DriverObject->MajorFunction[IRP_MJ_QUERY_VOLUME_INFORMATION] = + VfatBuildRequest; + DriverObject->MajorFunction[IRP_MJ_SET_VOLUME_INFORMATION] = + VfatBuildRequest; + DriverObject->MajorFunction[IRP_MJ_SHUTDOWN] = VfatShutdown; + DriverObject->MajorFunction[IRP_MJ_LOCK_CONTROL] = VfatBuildRequest; + DriverObject->MajorFunction[IRP_MJ_CLEANUP] = VfatBuildRequest; + DriverObject->MajorFunction[IRP_MJ_FLUSH_BUFFERS] = VfatBuildRequest; +#endif
- if (!NT_SUCCESS(Status)) - { - return (Status); - } + DriverObject->DriverUnload = NULL;
- VfatGlobalData = DeviceObject->DeviceExtension; - RtlZeroMemory (VfatGlobalData, sizeof(VFAT_GLOBAL_DATA)); - VfatGlobalData->DriverObject = DriverObject; - VfatGlobalData->DeviceObject = DeviceObject; + /* Initialize cache manager callbacks */ + FatGlobalData.CacheMgrCallbacks.AcquireForLazyWrite = FatAcquireForLazyWrite; + FatGlobalData.CacheMgrCallbacks.ReleaseFromLazyWrite = FatReleaseFromLazyWrite; + FatGlobalData.CacheMgrCallbacks.AcquireForReadAhead = FatAcquireForReadAhead; + FatGlobalData.CacheMgrCallbacks.ReleaseFromReadAhead = FatReleaseFromReadAhead;
- DeviceObject->Flags |= DO_DIRECT_IO; - /*DriverObject->MajorFunction[IRP_MJ_CLOSE] = VfatBuildRequest; - DriverObject->MajorFunction[IRP_MJ_CREATE] = VfatBuildRequest; - DriverObject->MajorFunction[IRP_MJ_READ] = VfatBuildRequest; - DriverObject->MajorFunction[IRP_MJ_WRITE] = VfatBuildRequest; - DriverObject->MajorFunction[IRP_MJ_FILE_SYSTEM_CONTROL] = VfatBuildRequest; - DriverObject->MajorFunction[IRP_MJ_QUERY_INFORMATION] = VfatBuildRequest; - DriverObject->MajorFunction[IRP_MJ_SET_INFORMATION] = VfatBuildRequest; - DriverObject->MajorFunction[IRP_MJ_DIRECTORY_CONTROL] = VfatBuildRequest; - DriverObject->MajorFunction[IRP_MJ_QUERY_VOLUME_INFORMATION] = - VfatBuildRequest; - DriverObject->MajorFunction[IRP_MJ_SET_VOLUME_INFORMATION] = - VfatBuildRequest;*/ - DriverObject->MajorFunction[IRP_MJ_SHUTDOWN] = VfatShutdown; - /*DriverObject->MajorFunction[IRP_MJ_LOCK_CONTROL] = VfatBuildRequest; - DriverObject->MajorFunction[IRP_MJ_CLEANUP] = VfatBuildRequest; - DriverObject->MajorFunction[IRP_MJ_FLUSH_BUFFERS] = VfatBuildRequest;*/ + FatGlobalData.CacheMgrCallbacks.AcquireForLazyWrite = FatNoopAcquire; + FatGlobalData.CacheMgrCallbacks.ReleaseFromLazyWrite = FatNoopRelease; + FatGlobalData.CacheMgrCallbacks.AcquireForReadAhead = FatNoopAcquire; + FatGlobalData.CacheMgrCallbacks.ReleaseFromReadAhead = FatNoopRelease;
- DriverObject->DriverUnload = NULL; + /* Initialize Fast I/O dispatchers */ + FatInitFastIoRoutines(&FatGlobalData.FastIoDispatch); + DriverObject->FastIoDispatch = &FatGlobalData.FastIoDispatch;
- /* Cache manager */ - VfatGlobalData->CacheMgrCallbacks.AcquireForLazyWrite = VfatAcquireForLazyWrite; - VfatGlobalData->CacheMgrCallbacks.ReleaseFromLazyWrite = VfatReleaseFromLazyWrite; - VfatGlobalData->CacheMgrCallbacks.AcquireForReadAhead = VfatAcquireForReadAhead; - VfatGlobalData->CacheMgrCallbacks.ReleaseFromReadAhead = VfatReleaseFromReadAhead; + /* Initialize lookaside lists */ + ExInitializeNPagedLookasideList(&FatGlobalData.NonPagedFcbList, + NULL, + NULL, + 0, + sizeof(VFATFCB), + TAG_FCB, + 0);
- /* Fast I/O */ - VfatInitFastIoRoutines(&VfatGlobalData->FastIoDispatch); - DriverObject->FastIoDispatch = &VfatGlobalData->FastIoDispatch; + ExInitializeNPagedLookasideList(&FatGlobalData.ResourceList, + NULL, + NULL, + 0, + sizeof(ERESOURCE), + TAG_CCB, + 0);
- /* Private lists */ - ExInitializeNPagedLookasideList(&VfatGlobalData->FcbLookasideList, - NULL, NULL, 0, sizeof(VFATFCB), TAG_FCB, 0); - ExInitializeNPagedLookasideList(&VfatGlobalData->CcbLookasideList, - NULL, NULL, 0, sizeof(VFATCCB), TAG_CCB, 0); - ExInitializeNPagedLookasideList(&VfatGlobalData->IrpContextLookasideList, - NULL, NULL, 0, sizeof(VFAT_IRP_CONTEXT), TAG_IRP, 0); + ExInitializeNPagedLookasideList(&FatGlobalData.IrpContextList, + NULL, + NULL, + 0, + sizeof(FAT_IRP_CONTEXT), + TAG_IRP, + 0);
- ExInitializeResourceLite(&VfatGlobalData->VolumeListLock); - InitializeListHead(&VfatGlobalData->VolumeListHead); - IoRegisterFileSystem(DeviceObject); - return(STATUS_SUCCESS); + /* Register and reference our filesystem */ + IoRegisterFileSystem(DeviceObject); + ObReferenceObject(DeviceObject); + + return STATUS_SUCCESS; }
/* EOF */
Modified: trunk/reactos/drivers/filesystems/fastfat_new/fastfat.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/filesystems/fastfat... ============================================================================== --- trunk/reactos/drivers/filesystems/fastfat_new/fastfat.h [iso-8859-1] (original) +++ trunk/reactos/drivers/filesystems/fastfat_new/fastfat.h [iso-8859-1] Sun Jan 11 09:58:57 2009 @@ -296,19 +296,17 @@
typedef struct { - PDRIVER_OBJECT DriverObject; - PDEVICE_OBJECT DeviceObject; - ULONG Flags; - ERESOURCE VolumeListLock; - LIST_ENTRY VolumeListHead; - NPAGED_LOOKASIDE_LIST FcbLookasideList; - NPAGED_LOOKASIDE_LIST CcbLookasideList; - NPAGED_LOOKASIDE_LIST IrpContextLookasideList; - FAST_IO_DISPATCH FastIoDispatch; - CACHE_MANAGER_CALLBACKS CacheMgrCallbacks; -} VFAT_GLOBAL_DATA, *PVFAT_GLOBAL_DATA; - -extern PVFAT_GLOBAL_DATA VfatGlobalData; + PDRIVER_OBJECT DriverObject; + PDEVICE_OBJECT DiskDeviceObject; + NPAGED_LOOKASIDE_LIST NonPagedFcbList; + NPAGED_LOOKASIDE_LIST ResourceList; + NPAGED_LOOKASIDE_LIST IrpContextList; + FAST_IO_DISPATCH FastIoDispatch; + CACHE_MANAGER_CALLBACKS CacheMgrCallbacks; + CACHE_MANAGER_CALLBACKS CacheMgrNoopCallbacks; +} FAT_GLOBAL_DATA, *VFAT_GLOBAL_DATA; + +extern VFAT_GLOBAL_DATA VfatGlobalData;
#define FCB_CACHE_INITIALIZED 0x0001 #define FCB_DELETE_PENDING 0x0002 @@ -449,7 +447,7 @@ PFILE_OBJECT FileObject; ULONG RefCount; KEVENT Event; -} VFAT_IRP_CONTEXT, *PVFAT_IRP_CONTEXT; +} FAT_IRP_CONTEXT, *PFAT_IRP_CONTEXT;
typedef struct _VFAT_DIRENTRY_CONTEXT { @@ -469,9 +467,9 @@
/* -------------------------------------------------------- volume.c */
-NTSTATUS VfatQueryVolumeInformation (PVFAT_IRP_CONTEXT IrpContext); - -NTSTATUS VfatSetVolumeInformation (PVFAT_IRP_CONTEXT IrpContext); +NTSTATUS VfatQueryVolumeInformation (PFAT_IRP_CONTEXT IrpContext); + +NTSTATUS VfatSetVolumeInformation (PFAT_IRP_CONTEXT IrpContext);
/* ------------------------------------------------------ blockdev.c */
@@ -481,13 +479,13 @@ IN PUCHAR Buffer, IN BOOLEAN Override);
-NTSTATUS VfatReadDiskPartial (IN PVFAT_IRP_CONTEXT IrpContext, +NTSTATUS VfatReadDiskPartial (IN PFAT_IRP_CONTEXT IrpContext, IN PLARGE_INTEGER ReadOffset, IN ULONG ReadLength, IN ULONG BufferOffset, IN BOOLEAN Wait);
-NTSTATUS VfatWriteDiskPartial(IN PVFAT_IRP_CONTEXT IrpContext, +NTSTATUS VfatWriteDiskPartial(IN PFAT_IRP_CONTEXT IrpContext, IN PLARGE_INTEGER WriteOffset, IN ULONG WriteLength, IN ULONG BufferOffset, @@ -503,7 +501,7 @@
/* ----------------------------------------------------------- dir.c */
-NTSTATUS VfatDirectoryControl (PVFAT_IRP_CONTEXT); +NTSTATUS VfatDirectoryControl (PFAT_IRP_CONTEXT);
BOOLEAN FsdDosDateTimeToSystemTime (PDEVICE_EXTENSION DeviceExt, USHORT DosDate, @@ -517,7 +515,7 @@
/* -------------------------------------------------------- create.c */
-NTSTATUS VfatCreate (PVFAT_IRP_CONTEXT IrpContext); +NTSTATUS VfatCreate (PFAT_IRP_CONTEXT IrpContext);
NTSTATUS FindFile (PDEVICE_EXTENSION DeviceExt, PVFATFCB Parent, @@ -533,43 +531,51 @@
/* --------------------------------------------------------- close.c */
-NTSTATUS VfatClose (PVFAT_IRP_CONTEXT IrpContext); +NTSTATUS VfatClose (PFAT_IRP_CONTEXT IrpContext);
NTSTATUS VfatCloseFile(PDEVICE_EXTENSION DeviceExt, PFILE_OBJECT FileObject);
/* ------------------------------------------------------- cleanup.c */
-NTSTATUS VfatCleanup (PVFAT_IRP_CONTEXT IrpContext); +NTSTATUS VfatCleanup (PFAT_IRP_CONTEXT IrpContext);
/* --------------------------------------------------------- fastio.c */
VOID -VfatInitFastIoRoutines(PFAST_IO_DISPATCH FastIoDispatch); +FatInitFastIoRoutines(PFAST_IO_DISPATCH FastIoDispatch);
BOOLEAN NTAPI -VfatAcquireForLazyWrite(IN PVOID Context, +FatAcquireForLazyWrite(IN PVOID Context, IN BOOLEAN Wait);
VOID NTAPI -VfatReleaseFromLazyWrite(IN PVOID Context); +FatReleaseFromLazyWrite(IN PVOID Context);
BOOLEAN NTAPI -VfatAcquireForReadAhead(IN PVOID Context, +FatAcquireForReadAhead(IN PVOID Context, IN BOOLEAN Wait);
VOID NTAPI -VfatReleaseFromReadAhead(IN PVOID Context); +FatReleaseFromReadAhead(IN PVOID Context); + +BOOLEAN NTAPI +FatNoopAcquire(IN PVOID Context, + IN BOOLEAN Wait); + +VOID NTAPI +FatNoopRelease(IN PVOID Context); +
/* --------------------------------------------------------- fsctl.c */
-NTSTATUS VfatFileSystemControl (PVFAT_IRP_CONTEXT IrpContext); +NTSTATUS VfatFileSystemControl (PFAT_IRP_CONTEXT IrpContext);
/* --------------------------------------------------------- finfo.c */
-NTSTATUS VfatQueryInformation (PVFAT_IRP_CONTEXT IrpContext); - -NTSTATUS VfatSetInformation (PVFAT_IRP_CONTEXT IrpContext); +NTSTATUS VfatQueryInformation (PFAT_IRP_CONTEXT IrpContext); + +NTSTATUS VfatSetInformation (PFAT_IRP_CONTEXT IrpContext);
NTSTATUS VfatSetAllocationSizeInformation(PFILE_OBJECT FileObject, @@ -745,9 +751,9 @@
/* ------------------------------------------------------------ rw.c */
-NTSTATUS VfatRead (PVFAT_IRP_CONTEXT IrpContext); - -NTSTATUS VfatWrite (PVFAT_IRP_CONTEXT IrpContext); +NTSTATUS VfatRead (PFAT_IRP_CONTEXT IrpContext); + +NTSTATUS VfatWrite (PFAT_IRP_CONTEXT IrpContext);
NTSTATUS NextCluster(PDEVICE_EXTENSION DeviceExt, ULONG FirstCluster, @@ -756,12 +762,12 @@
/* ----------------------------------------------------------- misc.c */
-NTSTATUS VfatQueueRequest(PVFAT_IRP_CONTEXT IrpContext); - -PVFAT_IRP_CONTEXT VfatAllocateIrpContext(PDEVICE_OBJECT DeviceObject, +NTSTATUS VfatQueueRequest(PFAT_IRP_CONTEXT IrpContext); + +PFAT_IRP_CONTEXT VfatAllocateIrpContext(PDEVICE_OBJECT DeviceObject, PIRP Irp);
-VOID VfatFreeIrpContext(PVFAT_IRP_CONTEXT IrpContext); +VOID VfatFreeIrpContext(PFAT_IRP_CONTEXT IrpContext);
DRIVER_DISPATCH VfatBuildRequest; NTSTATUS NTAPI VfatBuildRequest (PDEVICE_OBJECT DeviceObject, @@ -778,7 +784,7 @@ ULONG EaLength); /* ------------------------------------------------------------- flush.c */
-NTSTATUS VfatFlush(PVFAT_IRP_CONTEXT IrpContext); +NTSTATUS VfatFlush(PFAT_IRP_CONTEXT IrpContext);
NTSTATUS VfatFlushVolume(PDEVICE_EXTENSION DeviceExt, PVFATFCB VolumeFcb);
Modified: trunk/reactos/drivers/filesystems/fastfat_new/fastio.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/filesystems/fastfat... ============================================================================== --- trunk/reactos/drivers/filesystems/fastfat_new/fastio.c [iso-8859-1] (original) +++ trunk/reactos/drivers/filesystems/fastfat_new/fastio.c [iso-8859-1] Sun Jan 11 09:58:57 2009 @@ -326,8 +326,9 @@ return STATUS_SUCCESS; }
-BOOLEAN NTAPI -VfatAcquireForLazyWrite(IN PVOID Context, +BOOLEAN +NTAPI +FatAcquireForLazyWrite(IN PVOID Context, IN BOOLEAN Wait) { PVFATFCB Fcb = (PVFATFCB)Context; @@ -342,8 +343,9 @@ return TRUE; }
-VOID NTAPI -VfatReleaseFromLazyWrite(IN PVOID Context) +VOID +NTAPI +FatReleaseFromLazyWrite(IN PVOID Context) { PVFATFCB Fcb = (PVFATFCB)Context; ASSERT(Fcb); @@ -352,8 +354,9 @@ ExReleaseResourceLite(&(Fcb->MainResource)); }
-BOOLEAN NTAPI -VfatAcquireForReadAhead(IN PVOID Context, +BOOLEAN +NTAPI +FatAcquireForReadAhead(IN PVOID Context, IN BOOLEAN Wait) { PVFATFCB Fcb = (PVFATFCB)Context; @@ -368,8 +371,9 @@ return TRUE; }
-VOID NTAPI -VfatReleaseFromReadAhead(IN PVOID Context) +VOID +NTAPI +FatReleaseFromReadAhead(IN PVOID Context) { PVFATFCB Fcb = (PVFATFCB)Context; ASSERT(Fcb); @@ -378,8 +382,23 @@ ExReleaseResourceLite(&(Fcb->MainResource)); }
+BOOLEAN +NTAPI +FatNoopAcquire(IN PVOID Context, + IN BOOLEAN Wait) +{ + return TRUE; +} + VOID -VfatInitFastIoRoutines(PFAST_IO_DISPATCH FastIoDispatch) +NTAPI +FatNoopRelease(IN PVOID Context) +{ +} + + +VOID +FatInitFastIoRoutines(PFAST_IO_DISPATCH FastIoDispatch) { FastIoDispatch->SizeOfFastIoDispatch = sizeof(FAST_IO_DISPATCH); FastIoDispatch->FastIoCheckIfPossible = VfatFastIoCheckIfPossible;
Modified: trunk/reactos/drivers/filesystems/fastfat_new/finfo.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/filesystems/fastfat... ============================================================================== --- trunk/reactos/drivers/filesystems/fastfat_new/finfo.c [iso-8859-1] (original) +++ trunk/reactos/drivers/filesystems/fastfat_new/finfo.c [iso-8859-1] Sun Jan 11 09:58:57 2009 @@ -13,12 +13,12 @@
/* FUNCTIONS ****************************************************************/
-NTSTATUS VfatQueryInformation(PVFAT_IRP_CONTEXT IrpContext) +NTSTATUS VfatQueryInformation(PFAT_IRP_CONTEXT IrpContext) { return STATUS_NOT_IMPLEMENTED; }
-NTSTATUS VfatSetInformation(PVFAT_IRP_CONTEXT IrpContext) +NTSTATUS VfatSetInformation(PFAT_IRP_CONTEXT IrpContext) { return STATUS_NOT_IMPLEMENTED; }
Modified: trunk/reactos/drivers/filesystems/fastfat_new/flush.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/filesystems/fastfat... ============================================================================== --- trunk/reactos/drivers/filesystems/fastfat_new/flush.c [iso-8859-1] (original) +++ trunk/reactos/drivers/filesystems/fastfat_new/flush.c [iso-8859-1] Sun Jan 11 09:58:57 2009 @@ -21,7 +21,7 @@ return STATUS_NOT_IMPLEMENTED; }
-NTSTATUS VfatFlush(PVFAT_IRP_CONTEXT IrpContext) +NTSTATUS VfatFlush(PFAT_IRP_CONTEXT IrpContext) { return STATUS_NOT_IMPLEMENTED; }
Modified: trunk/reactos/drivers/filesystems/fastfat_new/fsctl.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/filesystems/fastfat... ============================================================================== --- trunk/reactos/drivers/filesystems/fastfat_new/fsctl.c [iso-8859-1] (original) +++ trunk/reactos/drivers/filesystems/fastfat_new/fsctl.c [iso-8859-1] Sun Jan 11 09:58:57 2009 @@ -14,7 +14,7 @@ /* FUNCTIONS ****************************************************************/
NTSTATUS -VfatFileSystemControl(PVFAT_IRP_CONTEXT IrpContext) +VfatFileSystemControl(PFAT_IRP_CONTEXT IrpContext) { DPRINT("VfatFileSystemControl(IrpContext %p)\n", IrpContext);
Modified: trunk/reactos/drivers/filesystems/fastfat_new/rw.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/filesystems/fastfat... ============================================================================== --- trunk/reactos/drivers/filesystems/fastfat_new/rw.c [iso-8859-1] (original) +++ trunk/reactos/drivers/filesystems/fastfat_new/rw.c [iso-8859-1] Sun Jan 11 09:58:57 2009 @@ -14,13 +14,13 @@ /* FUNCTIONS *****************************************************************/
NTSTATUS -VfatRead(PVFAT_IRP_CONTEXT IrpContext) +VfatRead(PFAT_IRP_CONTEXT IrpContext) { return STATUS_NOT_IMPLEMENTED; }
NTSTATUS -VfatWrite(PVFAT_IRP_CONTEXT IrpContext) +VfatWrite(PFAT_IRP_CONTEXT IrpContext) { return STATUS_NOT_IMPLEMENTED; }
Modified: trunk/reactos/drivers/filesystems/fastfat_new/volume.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/filesystems/fastfat... ============================================================================== --- trunk/reactos/drivers/filesystems/fastfat_new/volume.c [iso-8859-1] (original) +++ trunk/reactos/drivers/filesystems/fastfat_new/volume.c [iso-8859-1] Sun Jan 11 09:58:57 2009 @@ -14,13 +14,13 @@ /* FUNCTIONS ****************************************************************/
NTSTATUS -VfatQueryVolumeInformation(PVFAT_IRP_CONTEXT IrpContext) +VfatQueryVolumeInformation(PFAT_IRP_CONTEXT IrpContext) { return STATUS_NOT_IMPLEMENTED; }
NTSTATUS -VfatSetVolumeInformation(PVFAT_IRP_CONTEXT IrpContext) +VfatSetVolumeInformation(PFAT_IRP_CONTEXT IrpContext) { return STATUS_NOT_IMPLEMENTED; }