- CdfsVerifyVolume: Disable the delivery of normal Kernel APC's before acquiring resource and re-enable APC's after releasing resource. Fixes ASSERT from ntoskrnl/ex/resource.c. Noticed by Stefan.

svn path=/trunk/; revision=43982
This commit is contained in:
Michael Martin 2009-11-05 23:43:57 +00:00
parent 51050d323b
commit 3b6b3c96d5

View file

@ -466,6 +466,7 @@ CdfsVerifyVolume(PDEVICE_OBJECT DeviceObject,
Stack = IoGetCurrentIrpStackLocation (Irp);
DeviceToVerify = Stack->Parameters.VerifyVolume.DeviceObject;
FsRtlEnterFileSystem();
ExAcquireResourceExclusiveLite (&DeviceExt->VcbResource,
TRUE);
@ -473,6 +474,7 @@ CdfsVerifyVolume(PDEVICE_OBJECT DeviceObject,
{
DPRINT1 ("Volume has been verified!\n");
ExReleaseResourceLite (&DeviceExt->VcbResource);
FsRtlExitFileSystem();
return STATUS_SUCCESS;
}
@ -511,6 +513,7 @@ CdfsVerifyVolume(PDEVICE_OBJECT DeviceObject,
DeviceToVerify->Flags &= ~DO_VERIFY_VOLUME;
ExReleaseResourceLite (&DeviceExt->VcbResource);
FsRtlExitFileSystem();
return Status;
}