Author: pschweitzer Date: Sun May 10 20:56:48 2015 New Revision: 67636
URL: http://svn.reactos.org/svn/reactos?rev=67636&view=rev Log: [NTFS] - Only set the IOSB status if we complete the IRP - Fix the assert: the caller might want not to complete the IRP nor to queue it (passed down IRPs)
Modified: trunk/reactos/drivers/filesystems/ntfs/dispatch.c
Modified: trunk/reactos/drivers/filesystems/ntfs/dispatch.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/filesystems/ntfs/di... ============================================================================== --- trunk/reactos/drivers/filesystems/ntfs/dispatch.c [iso-8859-1] (original) +++ trunk/reactos/drivers/filesystems/ntfs/dispatch.c [iso-8859-1] Sun May 10 20:56:48 2015 @@ -85,13 +85,17 @@ else Status = STATUS_INSUFFICIENT_RESOURCES;
- ASSERT(((IrpContext->Flags & IRPCONTEXT_COMPLETE) && !(IrpContext->Flags & IRPCONTEXT_QUEUE)) || + ASSERT((!(IrpContext->Flags & IRPCONTEXT_COMPLETE) && !(IrpContext->Flags & IRPCONTEXT_QUEUE)) || + ((IrpContext->Flags & IRPCONTEXT_COMPLETE) && !(IrpContext->Flags & IRPCONTEXT_QUEUE)) || (!(IrpContext->Flags & IRPCONTEXT_COMPLETE) && (IrpContext->Flags & IRPCONTEXT_QUEUE)));
- Irp->IoStatus.Status = Status; +
if (IrpContext->Flags & IRPCONTEXT_COMPLETE) + { + Irp->IoStatus.Status = Status; IoCompleteRequest(Irp, IrpContext->PriorityBoost); + }
if (IrpContext) ExFreePoolWithTag(IrpContext, 'PRIN');