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 *****************************************************************/
22 CcPfInitializePrefetcher(VOID
)
25 DbgPrintEx(DPFLTR_PREFETCHER_ID
,
27 "CCPF: InitializePrefetecher()\n");
29 /* Setup the Prefetcher Data */
30 InitializeListHead(&CcPfGlobals
.ActiveTraces
);
31 InitializeListHead(&CcPfGlobals
.CompletedTraces
);
32 ExInitializeFastMutex(&CcPfGlobals
.CompletedTracesLock
);
34 /* FIXME: Setup the rest of the prefetecher */
39 CcInitializeCacheManager(VOID
)
50 CcGetFlushedValidData (
51 IN PSECTION_OBJECT_POINTERS SectionObjectPointer
,
52 IN BOOLEAN BcbListHeld
83 IN PFILE_OBJECT FileObject
,
84 IN PLARGE_INTEGER FileOffset
,
96 CcSetAdditionalCacheAttributes (
97 IN PFILE_OBJECT FileObject
,
98 IN BOOLEAN DisableReadAhead
,
99 IN BOOLEAN DisableWriteBehind
110 CcSetBcbOwnerPointer (
123 CcSetDirtyPageThreshold (
124 IN PFILE_OBJECT FileObject
,
125 IN ULONG DirtyPageThreshold
136 CcSetReadAheadGranularity (
137 IN PFILE_OBJECT FileObject
,