[ros-diffs] [fireball] 36830: - 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.

fireball at svn.reactos.org fireball at svn.reactos.org
Sun Oct 19 15:23:01 CEST 2008


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/fastfat/cleanup.c?rev=36830&r1=36829&r2=36830&view=diff
==============================================================================
--- 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/fastfat/finfo.c?rev=36830&r1=36829&r2=36830&view=diff
==============================================================================
--- 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&r1=36829&r2=36830&view=diff
==============================================================================
--- 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;
 }
 



More information about the Ros-diffs mailing list