diff --git a/reactos/ntoskrnl/cc/fs.c b/reactos/ntoskrnl/cc/fs.c index 6c6ee4f2df4..5fb3ca458e2 100644 --- a/reactos/ntoskrnl/cc/fs.c +++ b/reactos/ntoskrnl/cc/fs.c @@ -92,6 +92,8 @@ CcInitializeCacheMap ( IN PCACHE_MANAGER_CALLBACKS CallBacks, IN PVOID LazyWriterContext) { + NTSTATUS Status; + ASSERT(FileObject); ASSERT(FileSizes); @@ -99,10 +101,12 @@ CcInitializeCacheMap ( FileObject, FileSizes, PinAccess, CallBacks, LazyWriterContext); /* Call old ROS cache init function */ - CcRosInitializeFileCache(FileObject, - FileSizes, - CallBacks, - LazyWriterContext); + Status = CcRosInitializeFileCache(FileObject, + FileSizes, + CallBacks, + LazyWriterContext); + if (!NT_SUCCESS(Status)) + ExRaiseStatus(Status); } /* diff --git a/reactos/ntoskrnl/cc/view.c b/reactos/ntoskrnl/cc/view.c index 88e7f7a4c99..582d2820a3b 100644 --- a/reactos/ntoskrnl/cc/view.c +++ b/reactos/ntoskrnl/cc/view.c @@ -1176,7 +1176,7 @@ CcRosInitializeFileCache ( if (SharedCacheMap == NULL) { KeReleaseGuardedMutex(&ViewLock); - return STATUS_UNSUCCESSFUL; + return STATUS_INSUFFICIENT_RESOURCES; } RtlZeroMemory(SharedCacheMap, sizeof(*SharedCacheMap)); ObReferenceObjectByPointer(FileObject,