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... ============================================================================== --- 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; }