From 05bc18eb6c26f9f1361c2eebeb90fcabd5d0d71f Mon Sep 17 00:00:00 2001 From: Filip Navara Date: Fri, 29 Jul 2005 13:28:34 +0000 Subject: [PATCH] Properly propagate the SL_PENDING_RETURNED flag to stack locations in IofCompleteRequest and fix the priority boost for master IRPs. svn path=/trunk/; revision=16858 --- reactos/ntoskrnl/io/irp.c | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/reactos/ntoskrnl/io/irp.c b/reactos/ntoskrnl/io/irp.c index 28231d10f48..82f8bfb2f80 100644 --- a/reactos/ntoskrnl/io/irp.c +++ b/reactos/ntoskrnl/io/irp.c @@ -1158,10 +1158,7 @@ IofCompleteRequest(PIRP Irp, { if ((Irp->CurrentLocation <= Irp->StackCount) && (Irp->PendingReturned)) { - if (IoGetCurrentIrpStackLocation(Irp)->Control & SL_PENDING_RETURNED) - { - Irp->PendingReturned = TRUE; - } + IoMarkIrpPending(Irp); } } @@ -1191,7 +1188,7 @@ IofCompleteRequest(PIRP Irp, IoFreeIrp(Irp); /* Complete the Master IRP */ - if (!MasterIrpCount) IofCompleteRequest(MasterIrp, IO_NO_INCREMENT); + if (!MasterIrpCount) IofCompleteRequest(MasterIrp, PriorityBoost); return; } @@ -1219,12 +1216,10 @@ IofCompleteRequest(PIRP Irp, } else { - DPRINT1("BUG BUG, YOU SHOULDNT BE HERE\n"); - #if 0 +#if 0 /* Page 166 */ - /* When we'll actually support Async Paging I/O Properly... */ KeInitializeApc(&Irp->Tail.Apc - &Irp->tail.Overlay.Thread->Tcb, + &Irp->Tail.Overlay.Thread->Tcb, Irp->ApcEnvironment, IopCompletePageWrite, NULL, @@ -1235,7 +1230,10 @@ IofCompleteRequest(PIRP Irp, NULL, NULL, PriorityBoost); - #endif +#else + /* Not implemented yet. */ + ASSERT(FALSE); +#endif } return; }