Author: mjmartin
Date: Fri Nov 6 00:43:57 2009
New Revision: 43982
URL:
http://svn.reactos.org/svn/reactos?rev=43982&view=rev
Log:
[cdfs]
- 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.
Modified:
trunk/reactos/drivers/filesystems/cdfs/fsctl.c
Modified: trunk/reactos/drivers/filesystems/cdfs/fsctl.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/filesystems/cdfs/f…
==============================================================================
--- trunk/reactos/drivers/filesystems/cdfs/fsctl.c [iso-8859-1] (original)
+++ trunk/reactos/drivers/filesystems/cdfs/fsctl.c [iso-8859-1] Fri Nov 6 00:43:57 2009
@@ -466,6 +466,7 @@
Stack = IoGetCurrentIrpStackLocation (Irp);
DeviceToVerify = Stack->Parameters.VerifyVolume.DeviceObject;
+ FsRtlEnterFileSystem();
ExAcquireResourceExclusiveLite (&DeviceExt->VcbResource,
TRUE);
@@ -473,6 +474,7 @@
{
DPRINT1 ("Volume has been verified!\n");
ExReleaseResourceLite (&DeviceExt->VcbResource);
+ FsRtlExitFileSystem();
return STATUS_SUCCESS;
}
@@ -511,6 +513,7 @@
DeviceToVerify->Flags &= ~DO_VERIFY_VOLUME;
ExReleaseResourceLite (&DeviceExt->VcbResource);
+ FsRtlExitFileSystem();
return Status;
}