[FASTFAT]
[reactos.git] / reactos / drivers / filesystems / fastfat / cleanup.c
index 8bc68b8..6d64ee1 100644 (file)
@@ -38,7 +38,6 @@ VfatCleanupFile(
     if (pFcb->Flags & FCB_IS_VOLUME)
     {
         pFcb->OpenHandleCount--;
-        DeviceExt->OpenHandleCount--;
 
         if (pFcb->OpenHandleCount != 0)
         {
@@ -92,7 +91,6 @@ VfatCleanupFile(
                 pFcb->FileObject = NULL;
                 CcUninitializeCacheMap(tmpFileObject, NULL, NULL);
                 ObDereferenceObject(tmpFileObject);
-                vfatReleaseFCB(IrpContext->DeviceExt, pFcb);
             }
 
             CcPurgeCacheSection(FileObject->SectionObjectPointer, NULL, 0, FALSE);
@@ -112,6 +110,11 @@ VfatCleanupFile(
         ExReleaseResourceLite(&pFcb->MainResource);
     }
 
+    if (DeviceExt->Flags & VCB_DISMOUNT_PENDING)
+    {
+        VfatCheckForDismount(DeviceExt, FALSE);
+    }
+
     return STATUS_SUCCESS;
 }