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/fastfa…
==============================================================================
--- 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;
}