[NTOSKRNL] Allow pinned dirty VACB to be lazy written.

This is an addition to 07e6e9c.
Also, fix a cppcheck warning (so minor!).

CORE-14249
This commit is contained in:
Pierre Schweitzer
2018-01-25 22:00:20 +01:00
parent 9c27193a43
commit 2362e0faae
+3 -2
View File
@@ -250,7 +250,8 @@ CcRosFlushDirtyPages (
ASSERT(current->Dirty); ASSERT(current->Dirty);
/* One reference is added above */ /* One reference is added above */
if (current->ReferenceCount > 2) if ((current->ReferenceCount > 2 && current->PinCount == 0) ||
(current->ReferenceCount > 3 && current->PinCount > 1))
{ {
CcRosReleaseVacbLock(current); CcRosReleaseVacbLock(current);
current->SharedCacheMap->Callbacks->ReleaseFromLazyWrite( current->SharedCacheMap->Callbacks->ReleaseFromLazyWrite(
@@ -883,7 +884,7 @@ CcRosCreateVacb (
#if MI_TRACE_PFNS #if MI_TRACE_PFNS
if ((SharedCacheMap->FileObject) && (SharedCacheMap->FileObject->FileName.Buffer)) if ((SharedCacheMap->FileObject) && (SharedCacheMap->FileObject->FileName.Buffer))
{ {
PWCHAR pos = NULL; PWCHAR pos;
ULONG len = 0; ULONG len = 0;
pos = wcsrchr(SharedCacheMap->FileObject->FileName.Buffer, '\\'); pos = wcsrchr(SharedCacheMap->FileObject->FileName.Buffer, '\\');
if (pos) if (pos)