https://git.reactos.org/?p=reactos.git;a=commitdiff;h=f51b74ca6111a93ea08356fec0cbbd4bb7542e5a

commit f51b74ca6111a93ea08356fec0cbbd4bb7542e5a
Author:     Pierre Schweitzer <pie...@reactos.org>
AuthorDate: Fri Feb 9 12:25:58 2018 +0100
Commit:     Pierre Schweitzer <pie...@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)
     {

Reply via email to