- 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:
Aleksey Bragin 2008-03-07 17:38:43 +00:00
parent bc0269a715
commit 85826df2f5
5 changed files with 8 additions and 38 deletions

View file

@ -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

View file

@ -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;

View file

@ -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;
}

View file

@ -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);

View file

@ -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*/);
}
/*