Author: pschweitzer
Date: Sun Feb 12 19:31:31 2017
New Revision: 73784

URL: http://svn.reactos.org/svn/reactos?rev=73784&view=rev
Log:
[FASTFAT]
Don't attempt to verify volume if it was already verified in between

Modified:
    trunk/reactos/drivers/filesystems/fastfat/fsctl.c

Modified: trunk/reactos/drivers/filesystems/fastfat/fsctl.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/filesystems/fastfat/fsctl.c?rev=73784&r1=73783&r2=73784&view=diff
==============================================================================
--- trunk/reactos/drivers/filesystems/fastfat/fsctl.c   [iso-8859-1] (original)
+++ trunk/reactos/drivers/filesystems/fastfat/fsctl.c   [iso-8859-1] Sun Feb 12 
19:31:31 2017
@@ -623,12 +623,20 @@
     BOOLEAN RecognizedFS;
     PDEVICE_EXTENSION DeviceExt;
     BOOLEAN AllowRaw;
+    PVPB Vpb;
 
     DPRINT("VfatVerify(IrpContext %p)\n", IrpContext);
 
     DeviceToVerify = IrpContext->Stack->Parameters.VerifyVolume.DeviceObject;
     DeviceExt = DeviceToVerify->DeviceExtension;
+    Vpb = IrpContext->Stack->Parameters.VerifyVolume.Vpb;
     AllowRaw = BooleanFlagOn(IrpContext->Stack->Flags, SL_ALLOW_RAW_MOUNT);
+
+    if (!BooleanFlagOn(Vpb->RealDevice->Flags, DO_VERIFY_VOLUME))
+    {
+        DPRINT("Already verified\n");
+        return STATUS_SUCCESS;
+    }
 
     Status = VfatBlockDeviceIoControl(DeviceExt->StorageDevice,
                                       IOCTL_DISK_CHECK_VERIFY,
@@ -671,7 +679,7 @@
         }
     }
 
-    IrpContext->Stack->Parameters.VerifyVolume.Vpb->RealDevice->Flags &= 
~DO_VERIFY_VOLUME;
+    Vpb->RealDevice->Flags &= ~DO_VERIFY_VOLUME;
 
     return Status;
 }


Reply via email to