2003-02-18 Casper S. Hornstrup <chorns@users.sourceforge.net>
authorCasper Hornstrup <chorns@users.sourceforge.net>
Tue, 18 Feb 2003 22:06:53 +0000 (22:06 +0000)
committerCasper Hornstrup <chorns@users.sourceforge.net>
Tue, 18 Feb 2003 22:06:53 +0000 (22:06 +0000)
* ntoskrnl/cc/view.c (CcRosFlushDirtyPages): Treat a write attempt with
a return value of STATUS_END_OF_FILE as a successful write.
* ntoskrnl/cc/copy.c (WriteCacheSegment): Ditto.

svn path=/trunk/; revision=4176

reactos/ChangeLog
reactos/ntoskrnl/cc/copy.c
reactos/ntoskrnl/cc/view.c

index aa9015b..a0ef55e 100644 (file)
@@ -1,3 +1,9 @@
+2003-02-18  Casper S. Hornstrup  <chorns@users.sourceforge.net>
+
+       * ntoskrnl/cc/view.c (CcRosFlushDirtyPages): Treat a write attempt with
+       a return value of STATUS_END_OF_FILE as a successful write.
+       * ntoskrnl/cc/copy.c (WriteCacheSegment): Ditto.
+
 2003-02-18  Casper S. Hornstrup  <chorns@users.sourceforge.net>
 
        * ntoskrnl/cm/regfile.c (CmiRemoveSubKey): Kill warnings.
index 0835f25..8a21939 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: copy.c,v 1.14 2003/02/13 22:24:18 hbirr Exp $
+/* $Id: copy.c,v 1.15 2003/02/18 22:06:53 chorns Exp $
  *
  * COPYRIGHT:       See COPYING in the top level directory
  * PROJECT:         ReactOS kernel
@@ -234,7 +234,7 @@ WriteCacheSegment(PCACHE_SEGMENT CacheSeg)
      KeWaitForSingleObject(&Event, Executive, KernelMode, FALSE, NULL);
      Status = IoStatus.Status;
   }
-  if (!NT_SUCCESS(Status))
+  if (!NT_SUCCESS(Status) && (Status != STATUS_END_OF_FILE))
     {
       DPRINT1("IoPageWrite failed, Status %x\n", Status);
       CacheSeg->Dirty = TRUE;
index b2f3a3e..43ebc36 100644 (file)
@@ -16,7 +16,7 @@
  *  along with this program; if not, write to the Free Software
  *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  */
-/* $Id: view.c,v 1.57 2003/02/13 22:24:18 hbirr Exp $
+/* $Id: view.c,v 1.58 2003/02/18 22:06:53 chorns Exp $
  *
  * PROJECT:         ReactOS kernel
  * FILE:            ntoskrnl/cc/view.c
@@ -197,7 +197,7 @@ CcRosFlushDirtyPages(ULONG Target, PULONG Count)
       PagesPerSegment = current->Bcb->CacheSegmentSize / PAGE_SIZE;
       Status = CcRosFlushCacheSegment(current);      
       ExReleaseFastMutex(&current->Lock);
-      if (!NT_SUCCESS(Status))
+      if (!NT_SUCCESS(Status) &&  (Status != STATUS_END_OF_FILE))
       {
         DPRINT1("CC: Failed to flush cache segment.\n");
       }