[ntoskrnl/cc]
authorAleksey Bragin <aleksey@reactos.org>
Tue, 1 Dec 2009 21:32:50 +0000 (21:32 +0000)
committerAleksey Bragin <aleksey@reactos.org>
Tue, 1 Dec 2009 21:32:50 +0000 (21:32 +0000)
- Don't create zero sized cache segments. By Dmitry Gorbachev.
See issue #4100 for more details.

svn path=/trunk/; revision=44349

reactos/ntoskrnl/cc/fs.c

index 30e07f0..8a943b7 100644 (file)
@@ -166,7 +166,8 @@ CcSetFileSizes (IN PFILE_OBJECT FileObject,
      {
        current = CONTAINING_RECORD(current_entry, CACHE_SEGMENT, BcbSegmentListEntry);
        current_entry = current_entry->Flink;
      {
        current = CONTAINING_RECORD(current_entry, CACHE_SEGMENT, BcbSegmentListEntry);
        current_entry = current_entry->Flink;
-       if (current->FileOffset > FileSizes->AllocationSize.QuadPart)
+       if (current->FileOffset > FileSizes->AllocationSize.QuadPart ||
+           (current->FileOffset == 0 && FileSizes->AllocationSize.QuadPart == 0))
        {
            if (current->ReferenceCount == 0 || (current->ReferenceCount == 1 && current->Dirty))
           {
        {
            if (current->ReferenceCount == 0 || (current->ReferenceCount == 1 && current->Dirty))
           {