Author: fireball
Date: Sun Oct 19 08:23:00 2008
New Revision: 36830
URL: 
http://svn.reactos.org/svn/reactos?rev=36830&view=rev
Log:
- VFAT fixes: Actually perform a mandatory call to CcPurgeCacheSection during file
deletion (fixes real NT5 cache manager attempts to write section of a deleted file).
- VFAT fixes: When querying FileStandardInformation, NT's fastfat driver sets
NumberOfLinks to 1, ours sets it to 0 somewhy. Change to 1 for compatibility.
- A couple of debug prints improvements in VFAT.
- Comment out UNIMPLEMENTED in CcPurgeCacheSection to prevent debug messages flood.
Modified:
    trunk/reactos/drivers/filesystems/fastfat/cleanup.c
    trunk/reactos/drivers/filesystems/fastfat/finfo.c
    trunk/reactos/ntoskrnl/cc/fs.c
Modified: trunk/reactos/drivers/filesystems/fastfat/cleanup.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/filesystems/fastfa…
==============================================================================
--- trunk/reactos/drivers/filesystems/fastfat/cleanup.c [iso-8859-1] (original)
+++ trunk/reactos/drivers/filesystems/fastfat/cleanup.c [iso-8859-1] Sun Oct 19 08:23:00
2008
@@ -82,12 +82,7 @@
                 ObDereferenceObject(tmpFileObject);
            }
-#if 0
-           /* FIXME:
-            *  CcPurgeCacheSection is unimplemented.
-            */
            CcPurgeCacheSection(FileObject->SectionObjectPointer, NULL, 0, FALSE);
-#endif
         }
         /* Uninitialize file cache if. */
         if (FileObject->SectionObjectPointer->SharedCacheMap)
Modified: trunk/reactos/drivers/filesystems/fastfat/finfo.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/filesystems/fastfa…
==============================================================================
--- trunk/reactos/drivers/filesystems/fastfat/finfo.c [iso-8859-1] (original)
+++ trunk/reactos/drivers/filesystems/fastfat/finfo.c [iso-8859-1] Sun Oct 19 08:23:00
2008
@@ -91,7 +91,7 @@
       StandardInfo->EndOfFile = FCB->RFCB.FileSize;
       StandardInfo->Directory = FALSE;
     }
-  StandardInfo->NumberOfLinks = 0;
+  StandardInfo->NumberOfLinks = 1;
   StandardInfo->DeletePending = FCB->Flags & FCB_DELETE_PENDING ? TRUE : FALSE;
   *BufferLength -= sizeof(FILE_STANDARD_INFORMATION);
@@ -271,7 +271,7 @@
    PDEVICE_EXTENSION DeviceExt = DeviceObject->DeviceExtension;
 #endif
-   DPRINT ("FsdSetDispositionInformation()\n");
+   DPRINT ("FsdSetDispositionInformation(<%wZ>, Delete %d)\n",
&FCB->PathNameU, DispositionInfo->DeleteFile);
    ASSERT(DeviceExt != NULL);
    ASSERT(DeviceExt->FatInfo.BytesPerCluster != 0);
@@ -551,7 +551,8 @@
   ULONG NCluster;
   BOOLEAN AllocSizeChanged = FALSE;
-  DPRINT("VfatSetAllocationSizeInformation()\n");
+  DPRINT("VfatSetAllocationSizeInformation(File <%wZ>, AllocationSize %d
%d)\n", &Fcb->PathNameU,
+      AllocationSize->HighPart, AllocationSize->LowPart);
   if (Fcb->Flags & FCB_IS_FATX_ENTRY)
     OldSize = Fcb->entry.FatX.FileSize;
Modified: trunk/reactos/ntoskrnl/cc/fs.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/cc/fs.c?rev=36830…
==============================================================================
--- trunk/reactos/ntoskrnl/cc/fs.c [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/cc/fs.c [iso-8859-1] Sun Oct 19 08:23:00 2008
@@ -120,7 +120,7 @@
        IN      BOOLEAN                         UninitializeCacheMaps
        )
 {
-       UNIMPLEMENTED;
+       //UNIMPLEMENTED;
        return FALSE;
 }