2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS kernel
4 * FILE: ntoskrnl/cc/cacheman.c
5 * PURPOSE: Cache manager
7 * PROGRAMMERS: David Welch (welch@cwcom.net)
10 /* INCLUDES *****************************************************************/
16 PFSN_PREFETCHER_GLOBALS CcPfGlobals
;
18 /* FUNCTIONS *****************************************************************/
23 CcPfInitializePrefetcher(VOID
)
26 DbgPrintEx(DPFLTR_PREFETCHER_ID
,
28 "CCPF: InitializePrefetecher()\n");
30 /* Setup the Prefetcher Data */
31 InitializeListHead(&CcPfGlobals
.ActiveTraces
);
32 InitializeListHead(&CcPfGlobals
.CompletedTraces
);
33 ExInitializeFastMutex(&CcPfGlobals
.CompletedTracesLock
);
35 /* FIXME: Setup the rest of the prefetecher */
41 CcInitializeCacheManager(VOID
)
52 CcGetFlushedValidData (
53 IN PSECTION_OBJECT_POINTERS SectionObjectPointer
,
54 IN BOOLEAN BcbListHeld
85 IN PFILE_OBJECT FileObject
,
86 IN PLARGE_INTEGER FileOffset
,
98 CcSetAdditionalCacheAttributes (
99 IN PFILE_OBJECT FileObject
,
100 IN BOOLEAN DisableReadAhead
,
101 IN BOOLEAN DisableWriteBehind
112 CcSetBcbOwnerPointer (
125 CcSetDirtyPageThreshold (
126 IN PFILE_OBJECT FileObject
,
127 IN ULONG DirtyPageThreshold
138 CcSetReadAheadGranularity (
139 IN PFILE_OBJECT FileObject
,