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;
}