https://git.reactos.org/?p=reactos.git;a=commitdiff;h=f51b74ca6111a93ea0835…
commit f51b74ca6111a93ea08356fec0cbbd4bb7542e5a
Author: Pierre Schweitzer <pierre(a)reactos.org>
AuthorDate: Fri Feb 9 12:25:58 2018 +0100
Commit: Pierre Schweitzer <pierre(a)reactos.org>
CommitDate: Fri Feb 9 12:25:58 2018 +0100
[NTOSKRNL] Don't defer write through write operations
---
ntoskrnl/cc/copy.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/ntoskrnl/cc/copy.c b/ntoskrnl/cc/copy.c
index 63ad5aeb11..4992ade290 100644
--- a/ntoskrnl/cc/copy.c
+++ b/ntoskrnl/cc/copy.c
@@ -622,6 +622,12 @@ CcCanIWrite (
CCTRACE(CC_API_DEBUG, "FileObject=%p BytesToWrite=%lu Wait=%d
Retrying=%d\n",
FileObject, BytesToWrite, Wait, Retrying);
+ /* Write through is always OK */
+ if (BooleanFlagOn(FileObject->Flags, FO_WRITE_THROUGH))
+ {
+ return TRUE;
+ }
+
/* We cannot write if dirty pages count is above threshold */
if (CcTotalDirtyPages > CcDirtyPageThreshold)
{