diff --git a/ntoskrnl/cc/view.c b/ntoskrnl/cc/view.c index 94fcff6b7aa..18eaac50e8b 100644 --- a/ntoskrnl/cc/view.c +++ b/ntoskrnl/cc/view.c @@ -1280,6 +1280,7 @@ CcRosInitializeFileCache ( PrivateMap->NodeTypeCode = NODE_TYPE_PRIVATE_MAP; PrivateMap->ReadAheadMask = PAGE_SIZE - 1; PrivateMap->FileObject = FileObject; + KeInitializeSpinLock(&PrivateMap->ReadAheadSpinLock); /* Link it to the file */ KeAcquireSpinLock(&SharedCacheMap->CacheMapLock, &OldIrql); diff --git a/sdk/include/ndk/cctypes.h b/sdk/include/ndk/cctypes.h index 5dd55689f5e..c49a7489238 100644 --- a/sdk/include/ndk/cctypes.h +++ b/sdk/include/ndk/cctypes.h @@ -75,10 +75,13 @@ typedef struct _PRIVATE_CACHE_MAP LARGE_INTEGER BeyondLastByte1; LARGE_INTEGER FileOffset2; LARGE_INTEGER BeyondLastByte2; - LARGE_INTEGER ReadAheadOffset[2]; - ULONG ReadAheadLength[2]; + ULONG SequentialReadCount; + ULONG ReadAheadLength; + LARGE_INTEGER ReadAheadOffset; + LARGE_INTEGER ReadAheadBeyondLastByte; KSPIN_LOCK ReadAheadSpinLock; LIST_ENTRY PrivateLinks; + PVOID ReadAheadWorkItem; } PRIVATE_CACHE_MAP, *PPRIVATE_CACHE_MAP; typedef struct _BITMAP_RANGE