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