mirror of
https://github.com/reactos/reactos.git
synced 2025-04-25 16:10:29 +00:00
- Remove unneeded functions.
- Cleanup, reformat, remove static. svn path=/trunk/; revision=38744
This commit is contained in:
parent
71f5b95706
commit
732b0f6f65
1 changed files with 179 additions and 323 deletions
|
@ -1,16 +1,21 @@
|
|||
/*
|
||||
* FILE: drivers/fs/vfat/fastio.c
|
||||
* PURPOSE: Fast IO routines.
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
* PROGRAMMER: Herve Poussineau (hpoussin@reactos.org)
|
||||
* PROJECT: ReactOS FAT file system driver
|
||||
* LICENSE: GPL - See COPYING in the top level directory
|
||||
* FILE: drivers/filesystems/fastfat/fastio.c
|
||||
* PURPOSE: Fast IO routines
|
||||
* PROGRAMMERS: Herve Poussineau (hpoussin@reactos.org)
|
||||
*/
|
||||
|
||||
/* INCLUDES *****************************************************************/
|
||||
|
||||
#define NDEBUG
|
||||
#include "fastfat.h"
|
||||
|
||||
static BOOLEAN NTAPI
|
||||
VfatFastIoCheckIfPossible(IN PFILE_OBJECT FileObject,
|
||||
/* FUNCTIONS ****************************************************************/
|
||||
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
FatFastIoCheckIfPossible(IN PFILE_OBJECT FileObject,
|
||||
IN PLARGE_INTEGER FileOffset,
|
||||
IN ULONG Lenght,
|
||||
IN BOOLEAN Wait,
|
||||
|
@ -19,311 +24,195 @@ VfatFastIoCheckIfPossible(IN PFILE_OBJECT FileObject,
|
|||
OUT PIO_STATUS_BLOCK IoStatus,
|
||||
IN PDEVICE_OBJECT DeviceObject)
|
||||
{
|
||||
/* Prevent all Fast I/O requests */
|
||||
DPRINT("VfatFastIoCheckIfPossible(): returning FALSE.\n");
|
||||
return FALSE;
|
||||
/* Prevent all Fast I/O requests */
|
||||
DPRINT("FatFastIoCheckIfPossible(): returning FALSE.\n");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static BOOLEAN NTAPI
|
||||
VfatFastIoRead(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,
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
FatFastIoRead(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)
|
||||
{
|
||||
DPRINT("VfatFastIoRead()\n");
|
||||
return FALSE;
|
||||
DPRINT("FatFastIoRead()\n");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static BOOLEAN NTAPI
|
||||
VfatFastIoWrite(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)
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
FatFastIoWrite(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)
|
||||
{
|
||||
DPRINT("VfatFastIoWrite()\n");
|
||||
return FALSE;
|
||||
DPRINT("FatFastIoWrite()\n");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static BOOLEAN NTAPI
|
||||
VfatFastIoQueryBasicInfo(IN PFILE_OBJECT FileObject,
|
||||
IN BOOLEAN Wait,
|
||||
OUT PFILE_BASIC_INFORMATION Buffer,
|
||||
OUT PIO_STATUS_BLOCK IoStatus,
|
||||
IN PDEVICE_OBJECT DeviceObject)
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
FatFastIoQueryBasicInfo(IN PFILE_OBJECT FileObject,
|
||||
IN BOOLEAN Wait,
|
||||
OUT PFILE_BASIC_INFORMATION Buffer,
|
||||
OUT PIO_STATUS_BLOCK IoStatus,
|
||||
IN PDEVICE_OBJECT DeviceObject)
|
||||
{
|
||||
DPRINT("VfatFastIoQueryBasicInfo()\n");
|
||||
return FALSE;
|
||||
DPRINT("FatFastIoQueryBasicInfo()\n");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static BOOLEAN NTAPI
|
||||
VfatFastIoQueryStandardInfo(IN PFILE_OBJECT FileObject,
|
||||
IN BOOLEAN Wait,
|
||||
OUT PFILE_STANDARD_INFORMATION Buffer,
|
||||
OUT PIO_STATUS_BLOCK IoStatus,
|
||||
IN PDEVICE_OBJECT DeviceObject)
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
FatFastIoQueryStandardInfo(IN PFILE_OBJECT FileObject,
|
||||
IN BOOLEAN Wait,
|
||||
OUT PFILE_STANDARD_INFORMATION Buffer,
|
||||
OUT PIO_STATUS_BLOCK IoStatus,
|
||||
IN PDEVICE_OBJECT DeviceObject)
|
||||
{
|
||||
DPRINT("VfatFastIoQueryStandardInfo\n");
|
||||
return FALSE;
|
||||
DPRINT("FatFastIoQueryStandardInfo\n");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static BOOLEAN NTAPI
|
||||
VfatFastIoLock(IN PFILE_OBJECT FileObject,
|
||||
IN PLARGE_INTEGER FileOffset,
|
||||
IN PLARGE_INTEGER Length,
|
||||
PEPROCESS ProcessId,
|
||||
ULONG Key,
|
||||
BOOLEAN FailImmediately,
|
||||
BOOLEAN ExclusiveLock,
|
||||
OUT PIO_STATUS_BLOCK IoStatus,
|
||||
IN PDEVICE_OBJECT DeviceObject)
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
FatFastIoLock(IN PFILE_OBJECT FileObject,
|
||||
IN PLARGE_INTEGER FileOffset,
|
||||
IN PLARGE_INTEGER Length,
|
||||
PEPROCESS ProcessId,
|
||||
ULONG Key,
|
||||
BOOLEAN FailImmediately,
|
||||
BOOLEAN ExclusiveLock,
|
||||
OUT PIO_STATUS_BLOCK IoStatus,
|
||||
IN PDEVICE_OBJECT DeviceObject)
|
||||
{
|
||||
DPRINT("VfatFastIoLock\n");
|
||||
return FALSE;
|
||||
DPRINT("FatFastIoLock\n");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static BOOLEAN NTAPI
|
||||
VfatFastIoUnlockSingle(IN PFILE_OBJECT FileObject,
|
||||
IN PLARGE_INTEGER FileOffset,
|
||||
IN PLARGE_INTEGER Length,
|
||||
PEPROCESS ProcessId,
|
||||
ULONG Key,
|
||||
OUT PIO_STATUS_BLOCK IoStatus,
|
||||
IN PDEVICE_OBJECT DeviceObject)
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
FatFastIoUnlockSingle(IN PFILE_OBJECT FileObject,
|
||||
IN PLARGE_INTEGER FileOffset,
|
||||
IN PLARGE_INTEGER Length,
|
||||
PEPROCESS ProcessId,
|
||||
ULONG Key,
|
||||
OUT PIO_STATUS_BLOCK IoStatus,
|
||||
IN PDEVICE_OBJECT DeviceObject)
|
||||
{
|
||||
DPRINT("VfatFastIoUnlockSingle\n");
|
||||
return FALSE;
|
||||
DPRINT("FatFastIoUnlockSingle\n");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static BOOLEAN NTAPI
|
||||
VfatFastIoUnlockAll(IN PFILE_OBJECT FileObject,
|
||||
PEPROCESS ProcessId,
|
||||
OUT PIO_STATUS_BLOCK IoStatus,
|
||||
IN PDEVICE_OBJECT DeviceObject)
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
FatFastIoUnlockAll(IN PFILE_OBJECT FileObject,
|
||||
PEPROCESS ProcessId,
|
||||
OUT PIO_STATUS_BLOCK IoStatus,
|
||||
IN PDEVICE_OBJECT DeviceObject)
|
||||
{
|
||||
DPRINT("VfatFastIoUnlockAll\n");
|
||||
return FALSE;
|
||||
DPRINT("FatFastIoUnlockAll\n");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static BOOLEAN NTAPI
|
||||
VfatFastIoUnlockAllByKey(IN PFILE_OBJECT FileObject,
|
||||
PVOID ProcessId,
|
||||
ULONG Key,
|
||||
OUT PIO_STATUS_BLOCK IoStatus,
|
||||
IN PDEVICE_OBJECT DeviceObject)
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
FatFastIoUnlockAllByKey(IN PFILE_OBJECT FileObject,
|
||||
PVOID ProcessId,
|
||||
ULONG Key,
|
||||
OUT PIO_STATUS_BLOCK IoStatus,
|
||||
IN PDEVICE_OBJECT DeviceObject)
|
||||
{
|
||||
DPRINT("VfatFastIoUnlockAllByKey\n");
|
||||
return FALSE;
|
||||
DPRINT("FatFastIoUnlockAllByKey\n");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static BOOLEAN NTAPI
|
||||
VfatFastIoDeviceControl(IN PFILE_OBJECT FileObject,
|
||||
IN BOOLEAN Wait,
|
||||
IN PVOID InputBuffer OPTIONAL,
|
||||
IN ULONG InputBufferLength,
|
||||
OUT PVOID OutputBuffer OPTIONAL,
|
||||
IN ULONG OutputBufferLength,
|
||||
IN ULONG IoControlCode,
|
||||
OUT PIO_STATUS_BLOCK IoStatus,
|
||||
IN PDEVICE_OBJECT DeviceObject)
|
||||
{
|
||||
DPRINT("VfatFastIoDeviceControl\n");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static VOID NTAPI
|
||||
VfatAcquireFileForNtCreateSection(IN PFILE_OBJECT FileObject)
|
||||
{
|
||||
DPRINT("VfatAcquireFileForNtCreateSection\n");
|
||||
}
|
||||
|
||||
static VOID NTAPI
|
||||
VfatReleaseFileForNtCreateSection(IN PFILE_OBJECT FileObject)
|
||||
{
|
||||
DPRINT("VfatReleaseFileForNtCreateSection\n");
|
||||
}
|
||||
|
||||
static VOID NTAPI
|
||||
VfatFastIoDetachDevice(IN PDEVICE_OBJECT SourceDevice,
|
||||
IN PDEVICE_OBJECT TargetDevice)
|
||||
{
|
||||
DPRINT("VfatFastIoDetachDevice\n");
|
||||
}
|
||||
|
||||
static BOOLEAN NTAPI
|
||||
VfatFastIoQueryNetworkOpenInfo(IN PFILE_OBJECT FileObject,
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
FatFastIoQueryNetworkOpenInfo(IN PFILE_OBJECT FileObject,
|
||||
IN BOOLEAN Wait,
|
||||
OUT PFILE_NETWORK_OPEN_INFORMATION Buffer,
|
||||
OUT PIO_STATUS_BLOCK IoStatus,
|
||||
IN PDEVICE_OBJECT DeviceObject)
|
||||
OUT PFILE_NETWORK_OPEN_INFORMATION Buffer,
|
||||
OUT PIO_STATUS_BLOCK IoStatus,
|
||||
IN PDEVICE_OBJECT DeviceObject)
|
||||
{
|
||||
DPRINT("VfatFastIoQueryNetworkOpenInfo\n");
|
||||
return FALSE;
|
||||
DPRINT("FatFastIoQueryNetworkOpenInfo\n");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static NTSTATUS NTAPI
|
||||
VfatAcquireForModWrite(IN PFILE_OBJECT FileObject,
|
||||
IN PLARGE_INTEGER EndingOffset,
|
||||
OUT PERESOURCE* ResourceToRelease,
|
||||
IN PDEVICE_OBJECT DeviceObject)
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
FatMdlRead(IN PFILE_OBJECT FileObject,
|
||||
IN PLARGE_INTEGER FileOffset,
|
||||
IN ULONG Length,
|
||||
IN ULONG LockKey,
|
||||
OUT PMDL* MdlChain,
|
||||
OUT PIO_STATUS_BLOCK IoStatus,
|
||||
IN PDEVICE_OBJECT DeviceObject)
|
||||
{
|
||||
DPRINT("VfatAcquireForModWrite\n");
|
||||
return STATUS_INVALID_DEVICE_REQUEST;
|
||||
DPRINT("FatMdlRead\n");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static BOOLEAN NTAPI
|
||||
VfatMdlRead(IN PFILE_OBJECT FileObject,
|
||||
IN PLARGE_INTEGER FileOffset,
|
||||
IN ULONG Length,
|
||||
IN ULONG LockKey,
|
||||
OUT PMDL* MdlChain,
|
||||
OUT PIO_STATUS_BLOCK IoStatus,
|
||||
IN PDEVICE_OBJECT DeviceObject)
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
FatMdlReadComplete(IN PFILE_OBJECT FileObject,
|
||||
IN PMDL MdlChain,
|
||||
IN PDEVICE_OBJECT DeviceObject)
|
||||
{
|
||||
DPRINT("VfatMdlRead\n");
|
||||
return FALSE;
|
||||
DPRINT("FatMdlReadComplete\n");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static BOOLEAN NTAPI
|
||||
VfatMdlReadComplete(IN PFILE_OBJECT FileObject,
|
||||
IN PMDL MdlChain,
|
||||
IN PDEVICE_OBJECT DeviceObject)
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
FatPrepareMdlWrite(IN PFILE_OBJECT FileObject,
|
||||
IN PLARGE_INTEGER FileOffset,
|
||||
IN ULONG Length,
|
||||
IN ULONG LockKey,
|
||||
OUT PMDL* MdlChain,
|
||||
OUT PIO_STATUS_BLOCK IoStatus,
|
||||
IN PDEVICE_OBJECT DeviceObject)
|
||||
{
|
||||
DPRINT("VfatMdlReadComplete\n");
|
||||
return FALSE;
|
||||
DPRINT("FatPrepareMdlWrite\n");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static BOOLEAN NTAPI
|
||||
VfatPrepareMdlWrite(IN PFILE_OBJECT FileObject,
|
||||
IN PLARGE_INTEGER FileOffset,
|
||||
IN ULONG Length,
|
||||
IN ULONG LockKey,
|
||||
OUT PMDL* MdlChain,
|
||||
OUT PIO_STATUS_BLOCK IoStatus,
|
||||
IN PDEVICE_OBJECT DeviceObject)
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
FatMdlWriteComplete(IN PFILE_OBJECT FileObject,
|
||||
IN PLARGE_INTEGER FileOffset,
|
||||
IN PMDL MdlChain,
|
||||
IN PDEVICE_OBJECT DeviceObject)
|
||||
{
|
||||
DPRINT("VfatPrepareMdlWrite\n");
|
||||
return FALSE;
|
||||
DPRINT("FatMdlWriteComplete\n");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static BOOLEAN NTAPI
|
||||
VfatMdlWriteComplete(IN PFILE_OBJECT FileObject,
|
||||
IN PLARGE_INTEGER FileOffset,
|
||||
IN PMDL MdlChain,
|
||||
IN PDEVICE_OBJECT DeviceObject)
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
FatAcquireForCcFlush(IN PFILE_OBJECT FileObject,
|
||||
IN PDEVICE_OBJECT DeviceObject)
|
||||
{
|
||||
DPRINT("VfatMdlWriteComplete\n");
|
||||
return FALSE;
|
||||
DPRINT("FatAcquireForCcFlush\n");
|
||||
return STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
static BOOLEAN NTAPI
|
||||
VfatFastIoReadCompressed(IN PFILE_OBJECT FileObject,
|
||||
IN PLARGE_INTEGER FileOffset,
|
||||
IN ULONG Length,
|
||||
IN ULONG LockKey,
|
||||
OUT PVOID Buffer,
|
||||
OUT PMDL* MdlChain,
|
||||
OUT PIO_STATUS_BLOCK IoStatus,
|
||||
OUT PCOMPRESSED_DATA_INFO CompressedDataInfo,
|
||||
IN ULONG CompressedDataInfoLength,
|
||||
IN PDEVICE_OBJECT DeviceObject)
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
FatReleaseForCcFlush(IN PFILE_OBJECT FileObject,
|
||||
IN PDEVICE_OBJECT DeviceObject)
|
||||
{
|
||||
DPRINT("VfatFastIoReadCompressed\n");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static BOOLEAN NTAPI
|
||||
VfatFastIoWriteCompressed(IN PFILE_OBJECT FileObject,
|
||||
IN PLARGE_INTEGER FileOffset,
|
||||
IN ULONG Length,
|
||||
IN ULONG LockKey,
|
||||
IN PVOID Buffer,
|
||||
OUT PMDL* MdlChain,
|
||||
OUT PIO_STATUS_BLOCK IoStatus,
|
||||
IN PCOMPRESSED_DATA_INFO CompressedDataInfo,
|
||||
IN ULONG CompressedDataInfoLength,
|
||||
IN PDEVICE_OBJECT DeviceObject)
|
||||
{
|
||||
DPRINT("VfatFastIoWriteCompressed\n");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static BOOLEAN NTAPI
|
||||
VfatMdlReadCompleteCompressed(IN PFILE_OBJECT FileObject,
|
||||
IN PMDL MdlChain,
|
||||
IN PDEVICE_OBJECT DeviceObject)
|
||||
{
|
||||
DPRINT("VfatMdlReadCompleteCompressed\n");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static BOOLEAN NTAPI
|
||||
VfatMdlWriteCompleteCompressed(IN PFILE_OBJECT FileObject,
|
||||
IN PLARGE_INTEGER FileOffset,
|
||||
IN PMDL MdlChain,
|
||||
IN PDEVICE_OBJECT DeviceObject)
|
||||
{
|
||||
DPRINT("VfatMdlWriteCompleteCompressed\n");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static BOOLEAN NTAPI
|
||||
VfatFastIoQueryOpen(IN PIRP Irp,
|
||||
OUT PFILE_NETWORK_OPEN_INFORMATION NetworkInformation,
|
||||
IN PDEVICE_OBJECT DeviceObject)
|
||||
{
|
||||
DPRINT("VfatFastIoQueryOpen\n");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static NTSTATUS NTAPI
|
||||
VfatReleaseForModWrite(IN PFILE_OBJECT FileObject,
|
||||
IN PERESOURCE ResourceToRelease,
|
||||
IN PDEVICE_OBJECT DeviceObject)
|
||||
{
|
||||
DPRINT("VfatReleaseForModWrite\n");
|
||||
return STATUS_INVALID_DEVICE_REQUEST;
|
||||
}
|
||||
|
||||
static NTSTATUS NTAPI
|
||||
VfatAcquireForCcFlush(IN PFILE_OBJECT FileObject,
|
||||
IN PDEVICE_OBJECT DeviceObject)
|
||||
{
|
||||
PVFATFCB Fcb = (PVFATFCB)FileObject->FsContext;
|
||||
|
||||
DPRINT("VfatAcquireForCcFlush\n");
|
||||
|
||||
/* Make sure it is not a volume lock */
|
||||
ASSERT(!(Fcb->Flags & FCB_IS_VOLUME));
|
||||
|
||||
/* Acquire the resource */
|
||||
ExAcquireResourceExclusiveLite(&(Fcb->MainResource), TRUE);
|
||||
|
||||
return STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
static NTSTATUS NTAPI
|
||||
VfatReleaseForCcFlush(IN PFILE_OBJECT FileObject,
|
||||
IN PDEVICE_OBJECT DeviceObject)
|
||||
{
|
||||
PVFATFCB Fcb = (PVFATFCB)FileObject->FsContext;
|
||||
|
||||
DPRINT("VfatReleaseForCcFlush\n");
|
||||
|
||||
/* Make sure it is not a volume lock */
|
||||
ASSERT(!(Fcb->Flags & FCB_IS_VOLUME));
|
||||
|
||||
/* Release the resource */
|
||||
ExReleaseResourceLite(&(Fcb->MainResource));
|
||||
|
||||
return STATUS_SUCCESS;
|
||||
DPRINT("FatReleaseForCcFlush\n");
|
||||
return STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
BOOLEAN
|
||||
|
@ -331,27 +220,15 @@ NTAPI
|
|||
FatAcquireForLazyWrite(IN PVOID Context,
|
||||
IN BOOLEAN Wait)
|
||||
{
|
||||
PVFATFCB Fcb = (PVFATFCB)Context;
|
||||
ASSERT(Fcb);
|
||||
DPRINT("VfatAcquireForLazyWrite(): Fcb %p\n", Fcb);
|
||||
|
||||
if (!ExAcquireResourceExclusiveLite(&(Fcb->MainResource), Wait))
|
||||
{
|
||||
DPRINT("VfatAcquireForLazyWrite(): ExReleaseResourceLite failed.\n");
|
||||
return FALSE;
|
||||
}
|
||||
return TRUE;
|
||||
DPRINT("FatAcquireForLazyWrite()\n");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
FatReleaseFromLazyWrite(IN PVOID Context)
|
||||
{
|
||||
PVFATFCB Fcb = (PVFATFCB)Context;
|
||||
ASSERT(Fcb);
|
||||
DPRINT("VfatReleaseFromLazyWrite(): Fcb %p\n", Fcb);
|
||||
|
||||
ExReleaseResourceLite(&(Fcb->MainResource));
|
||||
DPRINT("FatReleaseFromLazyWrite()\n");
|
||||
}
|
||||
|
||||
BOOLEAN
|
||||
|
@ -359,27 +236,15 @@ NTAPI
|
|||
FatAcquireForReadAhead(IN PVOID Context,
|
||||
IN BOOLEAN Wait)
|
||||
{
|
||||
PVFATFCB Fcb = (PVFATFCB)Context;
|
||||
ASSERT(Fcb);
|
||||
DPRINT("VfatAcquireForReadAhead(): Fcb %p\n", Fcb);
|
||||
|
||||
if (!ExAcquireResourceExclusiveLite(&(Fcb->MainResource), Wait))
|
||||
{
|
||||
DPRINT("VfatAcquireForReadAhead(): ExReleaseResourceLite failed.\n");
|
||||
return FALSE;
|
||||
}
|
||||
return TRUE;
|
||||
DPRINT("FatAcquireForReadAhead()\n");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
FatReleaseFromReadAhead(IN PVOID Context)
|
||||
{
|
||||
PVFATFCB Fcb = (PVFATFCB)Context;
|
||||
ASSERT(Fcb);
|
||||
DPRINT("VfatReleaseFromReadAhead(): Fcb %p\n", Fcb);
|
||||
|
||||
ExReleaseResourceLite(&(Fcb->MainResource));
|
||||
DPRINT("FatReleaseFromReadAhead()\n");
|
||||
}
|
||||
|
||||
BOOLEAN
|
||||
|
@ -400,33 +265,24 @@ FatNoopRelease(IN PVOID Context)
|
|||
VOID
|
||||
FatInitFastIoRoutines(PFAST_IO_DISPATCH FastIoDispatch)
|
||||
{
|
||||
FastIoDispatch->SizeOfFastIoDispatch = sizeof(FAST_IO_DISPATCH);
|
||||
FastIoDispatch->FastIoCheckIfPossible = VfatFastIoCheckIfPossible;
|
||||
FastIoDispatch->FastIoRead = VfatFastIoRead;
|
||||
FastIoDispatch->FastIoWrite = VfatFastIoWrite;
|
||||
FastIoDispatch->FastIoQueryBasicInfo = VfatFastIoQueryBasicInfo;
|
||||
FastIoDispatch->FastIoQueryStandardInfo = VfatFastIoQueryStandardInfo;
|
||||
FastIoDispatch->FastIoLock = VfatFastIoLock;
|
||||
FastIoDispatch->FastIoUnlockSingle = VfatFastIoUnlockSingle;
|
||||
FastIoDispatch->FastIoUnlockAll = VfatFastIoUnlockAll;
|
||||
FastIoDispatch->FastIoUnlockAllByKey = VfatFastIoUnlockAllByKey;
|
||||
FastIoDispatch->FastIoDeviceControl = VfatFastIoDeviceControl;
|
||||
FastIoDispatch->AcquireFileForNtCreateSection = VfatAcquireFileForNtCreateSection;
|
||||
FastIoDispatch->ReleaseFileForNtCreateSection = VfatReleaseFileForNtCreateSection;
|
||||
FastIoDispatch->FastIoDetachDevice = VfatFastIoDetachDevice;
|
||||
FastIoDispatch->FastIoQueryNetworkOpenInfo = VfatFastIoQueryNetworkOpenInfo;
|
||||
FastIoDispatch->MdlRead = VfatMdlRead;
|
||||
FastIoDispatch->MdlReadComplete = VfatMdlReadComplete;
|
||||
FastIoDispatch->PrepareMdlWrite = VfatPrepareMdlWrite;
|
||||
FastIoDispatch->MdlWriteComplete = VfatMdlWriteComplete;
|
||||
FastIoDispatch->FastIoReadCompressed = VfatFastIoReadCompressed;
|
||||
FastIoDispatch->FastIoWriteCompressed = VfatFastIoWriteCompressed;
|
||||
FastIoDispatch->MdlReadCompleteCompressed = VfatMdlReadCompleteCompressed;
|
||||
FastIoDispatch->MdlWriteCompleteCompressed = VfatMdlWriteCompleteCompressed;
|
||||
FastIoDispatch->FastIoQueryOpen = VfatFastIoQueryOpen;
|
||||
FastIoDispatch->AcquireForModWrite = VfatAcquireForModWrite;
|
||||
FastIoDispatch->ReleaseForModWrite = VfatReleaseForModWrite;
|
||||
FastIoDispatch->AcquireForCcFlush = VfatAcquireForCcFlush;
|
||||
FastIoDispatch->ReleaseForCcFlush = VfatReleaseForCcFlush;
|
||||
/* Set Fast I/O dispatcher callbacks */
|
||||
FastIoDispatch->SizeOfFastIoDispatch = sizeof(FAST_IO_DISPATCH);
|
||||
FastIoDispatch->FastIoCheckIfPossible = FatFastIoCheckIfPossible;
|
||||
FastIoDispatch->FastIoRead = FatFastIoRead;
|
||||
FastIoDispatch->FastIoWrite = FatFastIoWrite;
|
||||
FastIoDispatch->FastIoQueryBasicInfo = FatFastIoQueryBasicInfo;
|
||||
FastIoDispatch->FastIoQueryStandardInfo = FatFastIoQueryStandardInfo;
|
||||
FastIoDispatch->FastIoLock = FatFastIoLock;
|
||||
FastIoDispatch->FastIoUnlockSingle = FatFastIoUnlockSingle;
|
||||
FastIoDispatch->FastIoUnlockAll = FatFastIoUnlockAll;
|
||||
FastIoDispatch->FastIoUnlockAllByKey = FatFastIoUnlockAllByKey;
|
||||
FastIoDispatch->FastIoQueryNetworkOpenInfo = FatFastIoQueryNetworkOpenInfo;
|
||||
FastIoDispatch->MdlRead = FatMdlRead;
|
||||
FastIoDispatch->MdlReadComplete = FatMdlReadComplete;
|
||||
FastIoDispatch->PrepareMdlWrite = FatPrepareMdlWrite;
|
||||
FastIoDispatch->MdlWriteComplete = FatMdlWriteComplete;
|
||||
FastIoDispatch->AcquireForCcFlush = FatAcquireForCcFlush;
|
||||
FastIoDispatch->ReleaseForCcFlush = FatReleaseForCcFlush;
|
||||
}
|
||||
|
||||
/* EOF */
|
||||
|
|
Loading…
Reference in a new issue