[NTOSKRNL] Unmark dirty first, and then write.

This will avoid trying to flush twice a dirty VACB under
high IOs pressure.

CORE-14584
This commit is contained in:
Pierre Schweitzer 2018-04-30 10:36:19 +02:00
parent 2a7d16727a
commit cc54e51495
No known key found for this signature in database
GPG key ID: 7545556C3D585B0B

View file

@ -168,10 +168,12 @@ CcRosFlushVacb (
{
NTSTATUS Status;
CcRosUnmarkDirtyVacb(Vacb, TRUE);
Status = CcWriteVirtualAddress(Vacb);
if (NT_SUCCESS(Status))
if (!NT_SUCCESS(Status))
{
CcRosUnmarkDirtyVacb(Vacb, TRUE);
CcRosMarkDirtyVacb(Vacb);
}
return Status;