sys: read,write: IRP_MN_MDL improvements

This commit is contained in:
Bill Zissimopoulos 2016-10-22 14:04:31 -07:00
parent a525e095d3
commit e0b0b1b367
3 changed files with 6 additions and 46 deletions

View File

@ -175,8 +175,6 @@ static NTSTATUS FspFsvolReadCached(
}
else
{
ASSERT(0 == Irp->MdlAddress);
Result = FspCcMdlRead(FileObject, &ReadOffset, ReadLength, &Irp->MdlAddress,
&Irp->IoStatus);
if (!NT_SUCCESS(Result))

View File

@ -442,33 +442,15 @@ NTSTATUS FspCcMdlRead(PFILE_OBJECT FileObject, PLARGE_INTEGER FileOffset, ULONG
{
PAGED_CODE();
NTSTATUS Result;
*PMdlChain = 0;
try
{
CcMdlRead(FileObject, FileOffset, Length, PMdlChain, IoStatus);
Result = IoStatus->Status;
return IoStatus->Status;
}
except(EXCEPTION_EXECUTE_HANDLER)
except (EXCEPTION_EXECUTE_HANDLER)
{
Result = GetExceptionCode();
return GetExceptionCode();
}
if (!NT_SUCCESS(Result))
{
if (0 != *PMdlChain)
{
CcMdlReadComplete(FileObject, *PMdlChain);
*PMdlChain = 0;
}
IoStatus->Information = 0;
IoStatus->Status = Result;
}
return Result;
}
NTSTATUS FspCcMdlReadComplete(PFILE_OBJECT FileObject, PMDL MdlChain)
@ -491,33 +473,15 @@ NTSTATUS FspCcPrepareMdlWrite(PFILE_OBJECT FileObject, PLARGE_INTEGER FileOffset
{
PAGED_CODE();
NTSTATUS Result;
*PMdlChain = 0;
try
{
CcPrepareMdlWrite(FileObject, FileOffset, Length, PMdlChain, IoStatus);
Result = IoStatus->Status;
return IoStatus->Status;
}
except(EXCEPTION_EXECUTE_HANDLER)
except (EXCEPTION_EXECUTE_HANDLER)
{
Result = GetExceptionCode();
return GetExceptionCode();
}
if (!NT_SUCCESS(Result))
{
if (0 != *PMdlChain)
{
CcMdlWriteAbort(FileObject, *PMdlChain);
*PMdlChain = 0;
}
IoStatus->Information = 0;
IoStatus->Status = Result;
}
return Result;
}
NTSTATUS FspCcMdlWriteComplete(PFILE_OBJECT FileObject, PLARGE_INTEGER FileOffset, PMDL MdlChain)

View File

@ -218,8 +218,6 @@ static NTSTATUS FspFsvolWriteCached(
}
else
{
ASSERT(0 == Irp->MdlAddress);
Result = FspCcPrepareMdlWrite(FileObject, &WriteOffset, WriteLength, &Irp->MdlAddress,
&Irp->IoStatus);
if (!NT_SUCCESS(Result))