[FASTFAT] Disable delayed close

It brings too many regressions for too little gain.

CORE-14938
CORE-14917
CORE-14826
This commit is contained in:
Pierre Schweitzer 2018-08-20 19:43:43 +02:00
parent 2e7b73dc75
commit 53985bf64d
No known key found for this signature in database
GPG key ID: 7545556C3D585B0B

View file

@ -128,6 +128,8 @@ VfatCleanupFile(
{ {
IoRemoveShareAccess(FileObject, &pFcb->FCBShareAccess); 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 /* If that's the last open handle we just closed, try to see whether
* we can delay close operation * we can delay close operation
*/ */
@ -136,21 +138,16 @@ VfatCleanupFile(
{ {
/* This is only allowed if that's a directory with no open files /* This is only allowed if that's a directory with no open files
* OR if it's a file with no section opened * OR if it's a file with no section opened
* FIXME: only allow files for now
*/ */
#if 0
if ((vfatFCBIsDirectory(pFcb) && IsListEmpty(&pFcb->ParentListHead)) || if ((vfatFCBIsDirectory(pFcb) && IsListEmpty(&pFcb->ParentListHead)) ||
(!vfatFCBIsDirectory(pFcb) && FileObject->SectionObjectPointer->DataSectionObject == NULL && (!vfatFCBIsDirectory(pFcb) && FileObject->SectionObjectPointer->DataSectionObject == NULL &&
FileObject->SectionObjectPointer->ImageSectionObject == 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); DPRINT("Delaying close of: %wZ\n", &pFcb->PathNameU);
SetFlag(pFcb->Flags, FCB_DELAYED_CLOSE); SetFlag(pFcb->Flags, FCB_DELAYED_CLOSE);
} }
} }
#endif
FileObject->Flags |= FO_CLEANUP_COMPLETE; FileObject->Flags |= FO_CLEANUP_COMPLETE;
#ifdef KDBG #ifdef KDBG