[ros-diffs] [fireball] 37272: - Revert 25073 (vfatfs part). CcCopyRead is guaranteed (see WDK) to succeed if Wait parameter is TRUE, and the only case of failure is when Wait is FALSE meaning there is a need in additional processing time, hence returning of STATUS_PENDING. This fixes the "unable to read system hive" problem when booting Windows 2003 with this driver. See issue #1855 for more details.

fireball at svn.reactos.org fireball at svn.reactos.org
Mon Nov 10 10:57:43 CET 2008


Author: fireball
Date: Mon Nov 10 03:57:42 2008
New Revision: 37272

URL: http://svn.reactos.org/svn/reactos?rev=37272&view=rev
Log:
- Revert 25073 (vfatfs part). CcCopyRead is guaranteed (see WDK) to succeed if Wait parameter is TRUE, and the only case of failure is when Wait is FALSE meaning there is a need in additional processing time, hence returning of STATUS_PENDING. This fixes the "unable to read system hive" problem when booting Windows 2003 with this driver.
See issue #1855 for more details.

Modified:
    trunk/reactos/drivers/filesystems/fastfat/rw.c

Modified: trunk/reactos/drivers/filesystems/fastfat/rw.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/filesystems/fastfat/rw.c?rev=37272&r1=37271&r2=37272&view=diff
==============================================================================
--- trunk/reactos/drivers/filesystems/fastfat/rw.c [iso-8859-1] (original)
+++ trunk/reactos/drivers/filesystems/fastfat/rw.c [iso-8859-1] Mon Nov 10 03:57:42 2008
@@ -678,7 +678,7 @@
                       (BOOLEAN)(IrpContext->Flags & IRPCONTEXT_CANWAIT), Buffer,
                       &IrpContext->Irp->IoStatus))
       {
-         Status = IrpContext->Irp->IoStatus.Status;//STATUS_PENDING;
+         Status = STATUS_PENDING;
          goto ByeBye;
       }
       if (!NT_SUCCESS(IrpContext->Irp->IoStatus.Status))



More information about the Ros-diffs mailing list