mirror of
https://github.com/reactos/reactos.git
synced 2025-04-15 01:47:30 +00:00
- There is no reason for CDFS to use CcRos-specific functions, it ends up with the same CcRosInit/Uninit with the same CacheSegmentSize = PAGE_SIZE. However, CDFS is probably still hardly compatible with a real NT kernel.
svn path=/trunk/; revision=32604
This commit is contained in:
parent
bc0269a715
commit
85826df2f5
5 changed files with 8 additions and 38 deletions
|
@ -6,8 +6,6 @@
|
|||
#include <ntddcdrm.h>
|
||||
#include <ccros.h>
|
||||
|
||||
#define USE_ROS_CC_AND_FS
|
||||
|
||||
#define CDFS_BASIC_SECTOR 2048
|
||||
#define CDFS_PRIMARY_DESCRIPTOR_LOCATION 16
|
||||
#define BLOCKSIZE CDFS_BASIC_SECTOR
|
||||
|
|
|
@ -51,11 +51,7 @@ CdfsCleanupFile(PDEVICE_EXTENSION DeviceExt,
|
|||
/* Uninitialize file cache if initialized for this file object. */
|
||||
if (FileObject->SectionObjectPointer && FileObject->SectionObjectPointer->SharedCacheMap)
|
||||
{
|
||||
#ifdef USE_ROS_CC_AND_FS
|
||||
CcRosReleaseFileCache (FileObject);
|
||||
#else
|
||||
CcUninitializeCacheMap (FileObject, NULL, NULL);
|
||||
#endif
|
||||
}
|
||||
|
||||
return STATUS_SUCCESS;
|
||||
|
|
|
@ -241,22 +241,12 @@ CdfsFCBInitializeCache(PVCB Vcb,
|
|||
Fcb->FileObject = FileObject;
|
||||
Fcb->DevExt = Vcb;
|
||||
|
||||
#ifdef USE_ROS_AND_FS
|
||||
Status = CcRosInitializeFileCache(FileObject,
|
||||
PAGE_SIZE);
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DbgPrint("CcRosInitializeFileCache failed\n");
|
||||
KEBUGCHECK(0);
|
||||
}
|
||||
#else
|
||||
Status = STATUS_SUCCESS;
|
||||
CcInitializeCacheMap(FileObject,
|
||||
(PCC_FILE_SIZES)(&Fcb->RFCB.AllocationSize),
|
||||
FALSE,
|
||||
NULL,
|
||||
NULL);
|
||||
#endif
|
||||
|
||||
ObDereferenceObject(FileObject);
|
||||
Fcb->Flags |= FCB_CACHE_INITIALIZED;
|
||||
|
@ -437,22 +427,11 @@ CdfsAttachFCBToFileObject(PDEVICE_EXTENSION Vcb,
|
|||
|
||||
if (CdfsFCBIsDirectory(Fcb))
|
||||
{
|
||||
#ifdef USE_ROS_CC_AND_FS
|
||||
NTSTATUS Status;
|
||||
Status = CcRosInitializeFileCache(FileObject,
|
||||
PAGE_SIZE);
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DbgPrint("CcRosInitializeFileCache failed\n");
|
||||
KEBUGCHECK(0);
|
||||
}
|
||||
#else
|
||||
CcInitializeCacheMap(FileObject,
|
||||
(PCC_FILE_SIZES)(&Fcb->RFCB.AllocationSize),
|
||||
FALSE,
|
||||
NULL,
|
||||
NULL);
|
||||
#endif
|
||||
Fcb->Flags |= FCB_CACHE_INITIALIZED;
|
||||
}
|
||||
|
||||
|
|
|
@ -398,21 +398,13 @@ CdfsMountVolume(PDEVICE_OBJECT DeviceObject,
|
|||
|
||||
Fcb->Entry.ExtentLocationL = 0;
|
||||
Fcb->Entry.DataLengthL = (DeviceExt->CdInfo.VolumeSpaceSize + DeviceExt->CdInfo.VolumeOffset) * BLOCKSIZE;
|
||||
#ifdef USE_ROS_CC_AND_FS
|
||||
Status = CcRosInitializeFileCache(DeviceExt->StreamFileObject,
|
||||
PAGE_SIZE);
|
||||
if (!NT_SUCCESS (Status))
|
||||
{
|
||||
DbgPrint("CcRosInitializeFileCache failed\n");
|
||||
goto ByeBye;
|
||||
}
|
||||
#else
|
||||
|
||||
CcInitializeCacheMap(DeviceExt->StreamFileObject,
|
||||
(PCC_FILE_SIZES)(&Fcb->RFCB.AllocationSize),
|
||||
TRUE,
|
||||
NULL,
|
||||
NULL);
|
||||
#endif
|
||||
|
||||
ExInitializeResourceLite(&DeviceExt->VcbResource);
|
||||
ExInitializeResourceLite(&DeviceExt->DirResource);
|
||||
|
||||
|
|
|
@ -87,7 +87,12 @@ CcInitializeCacheMap (
|
|||
IN PVOID LazyWriterContext
|
||||
)
|
||||
{
|
||||
CcRosInitializeFileCache(FileObject, VACB_MAPPING_GRANULARITY);
|
||||
ASSERT(FileObject);
|
||||
ASSERT(FileSizes);
|
||||
|
||||
/* Call old ROS cache init function */
|
||||
CcRosInitializeFileCache(FileObject,
|
||||
PAGE_SIZE/*VACB_MAPPING_GRANULARITY*/);
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
Loading…
Reference in a new issue