https://git.reactos.org/?p=reactos.git;a=commitdiff;h=53985bf64daed79283b35…
commit 53985bf64daed79283b3557495860ee90590c148
Author: Pierre Schweitzer <pierre(a)reactos.org>
AuthorDate: Mon Aug 20 19:43:43 2018 +0200
Commit: Pierre Schweitzer <pierre(a)reactos.org>
CommitDate: Mon Aug 20 19:43:43 2018 +0200
[FASTFAT] Disable delayed close
It brings too many regressions for too little gain.
CORE-14938
CORE-14917
CORE-14826
---
drivers/filesystems/fastfat/cleanup.c | 9 +++------
1 file changed, 3 insertions(+), 6 deletions(-)
diff --git a/drivers/filesystems/fastfat/cleanup.c
b/drivers/filesystems/fastfat/cleanup.c
index ae354086e7..291cd77a2f 100644
--- a/drivers/filesystems/fastfat/cleanup.c
+++ b/drivers/filesystems/fastfat/cleanup.c
@@ -128,6 +128,8 @@ VfatCleanupFile(
{
IoRemoveShareAccess(FileObject, &pFcb->FCBShareAccess);
}
+/* FIXME: causes FS corruption and breaks selfhosting/testbots and so on */
+#if 0
/* If that's the last open handle we just closed, try to see whether
* we can delay close operation
*/
@@ -136,21 +138,16 @@ VfatCleanupFile(
{
/* This is only allowed if that's a directory with no open files
* OR if it's a file with no section opened
- * FIXME: only allow files for now
*/
-#if 0
if ((vfatFCBIsDirectory(pFcb) &&
IsListEmpty(&pFcb->ParentListHead)) ||
(!vfatFCBIsDirectory(pFcb) &&
FileObject->SectionObjectPointer->DataSectionObject == NULL &&
FileObject->SectionObjectPointer->ImageSectionObject == NULL))
-#else
- if (!vfatFCBIsDirectory(pFcb) &&
FileObject->SectionObjectPointer->DataSectionObject == NULL &&
- FileObject->SectionObjectPointer->ImageSectionObject == NULL)
-#endif
{
DPRINT("Delaying close of: %wZ\n", &pFcb->PathNameU);
SetFlag(pFcb->Flags, FCB_DELAYED_CLOSE);
}
}
+#endif
FileObject->Flags |= FO_CLEANUP_COMPLETE;
#ifdef KDBG