mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 02:25:40 +00:00
[FASTFAT]
Don't attempt to verify volume if it was already verified in between svn path=/trunk/; revision=73784
This commit is contained in:
parent
935904f4a0
commit
5b66f1e47b
1 changed files with 9 additions and 1 deletions
|
@ -623,13 +623,21 @@ VfatVerify(
|
||||||
BOOLEAN RecognizedFS;
|
BOOLEAN RecognizedFS;
|
||||||
PDEVICE_EXTENSION DeviceExt;
|
PDEVICE_EXTENSION DeviceExt;
|
||||||
BOOLEAN AllowRaw;
|
BOOLEAN AllowRaw;
|
||||||
|
PVPB Vpb;
|
||||||
|
|
||||||
DPRINT("VfatVerify(IrpContext %p)\n", IrpContext);
|
DPRINT("VfatVerify(IrpContext %p)\n", IrpContext);
|
||||||
|
|
||||||
DeviceToVerify = IrpContext->Stack->Parameters.VerifyVolume.DeviceObject;
|
DeviceToVerify = IrpContext->Stack->Parameters.VerifyVolume.DeviceObject;
|
||||||
DeviceExt = DeviceToVerify->DeviceExtension;
|
DeviceExt = DeviceToVerify->DeviceExtension;
|
||||||
|
Vpb = IrpContext->Stack->Parameters.VerifyVolume.Vpb;
|
||||||
AllowRaw = BooleanFlagOn(IrpContext->Stack->Flags, SL_ALLOW_RAW_MOUNT);
|
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,
|
Status = VfatBlockDeviceIoControl(DeviceExt->StorageDevice,
|
||||||
IOCTL_DISK_CHECK_VERIFY,
|
IOCTL_DISK_CHECK_VERIFY,
|
||||||
NULL,
|
NULL,
|
||||||
|
@ -671,7 +679,7 @@ VfatVerify(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
IrpContext->Stack->Parameters.VerifyVolume.Vpb->RealDevice->Flags &= ~DO_VERIFY_VOLUME;
|
Vpb->RealDevice->Flags &= ~DO_VERIFY_VOLUME;
|
||||||
|
|
||||||
return Status;
|
return Status;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue