mirror of
https://github.com/bobranten/Ext4Fsd.git
synced 2026-03-16 05:10:37 -05:00
removed a number of if statements that is not needed if the wait argument to CcCopyRead and CcCopyWrite is set to TRUE
This commit is contained in:
@@ -429,18 +429,15 @@ Ext2ReadInode (
|
||||
|
||||
for (Extent = Chain; Extent != NULL; Extent = Extent->Next) {
|
||||
|
||||
if (!CcCopyRead(
|
||||
Vcb->Volume,
|
||||
(PLARGE_INTEGER)(&(Extent->Lba)),
|
||||
Extent->Length,
|
||||
TRUE,
|
||||
(PVOID)((PUCHAR)Buffer + Extent->Offset),
|
||||
&IoStatus
|
||||
)) {
|
||||
Status = STATUS_CANT_WAIT;
|
||||
} else {
|
||||
Status = IoStatus.Status;
|
||||
}
|
||||
CcCopyRead(
|
||||
Vcb->Volume,
|
||||
(PLARGE_INTEGER)(&(Extent->Lba)),
|
||||
Extent->Length,
|
||||
TRUE,
|
||||
(PVOID)((PUCHAR)Buffer + Extent->Offset),
|
||||
&IoStatus
|
||||
);
|
||||
Status = IoStatus.Status;
|
||||
|
||||
if (!NT_SUCCESS(Status)) {
|
||||
break;
|
||||
@@ -694,17 +691,7 @@ Ext2ReadFile(IN PEXT2_IRP_CONTEXT IrpContext)
|
||||
__leave;
|
||||
}
|
||||
|
||||
if (!CcCopyRead(FileObject, &ByteOffset, ReturnedLength,
|
||||
Ext2CanIWait(), Buffer, &Irp->IoStatus)) {
|
||||
|
||||
if (Ext2CanIWait() || !CcCopyRead(FileObject, &ByteOffset,
|
||||
ReturnedLength, TRUE,
|
||||
Buffer, &Irp->IoStatus)) {
|
||||
Status = STATUS_PENDING;
|
||||
DbgBreak();
|
||||
__leave;
|
||||
}
|
||||
}
|
||||
CcCopyRead(FileObject, &ByteOffset, ReturnedLength, TRUE, Buffer, &Irp->IoStatus);
|
||||
Status = Irp->IoStatus.Status;
|
||||
}
|
||||
|
||||
|
||||
@@ -43,7 +43,6 @@ Ext2FloppyFlushDpc (
|
||||
IN PVOID SystemArgument1,
|
||||
IN PVOID SystemArgument2);
|
||||
|
||||
|
||||
NTSTATUS
|
||||
Ext2WriteComplete (IN PEXT2_IRP_CONTEXT IrpContext);
|
||||
|
||||
@@ -56,7 +55,6 @@ Ext2WriteVolume (IN PEXT2_IRP_CONTEXT IrpContext);
|
||||
VOID
|
||||
Ext2DeferWrite(IN PEXT2_IRP_CONTEXT, PIRP Irp);
|
||||
|
||||
|
||||
/* FUNCTIONS *************************************************************/
|
||||
|
||||
VOID
|
||||
@@ -215,7 +213,6 @@ Ext2DeferWrite(IN PEXT2_IRP_CONTEXT IrpContext, PIRP Irp)
|
||||
Ext2QueueRequest(IrpContext);
|
||||
}
|
||||
|
||||
|
||||
NTSTATUS
|
||||
Ext2WriteVolume (IN PEXT2_IRP_CONTEXT IrpContext)
|
||||
{
|
||||
@@ -421,14 +418,7 @@ Ext2WriteVolume (IN PEXT2_IRP_CONTEXT IrpContext)
|
||||
__leave;
|
||||
}
|
||||
|
||||
if (!CcCopyWrite( Vcb->Volume,
|
||||
(PLARGE_INTEGER)(&ByteOffset),
|
||||
Length,
|
||||
TRUE,
|
||||
Buffer )) {
|
||||
Status = STATUS_PENDING;
|
||||
__leave;
|
||||
}
|
||||
CcCopyWrite(Vcb->Volume, (PLARGE_INTEGER)(&ByteOffset), Length, TRUE, Buffer);
|
||||
|
||||
Status = Irp->IoStatus.Status;
|
||||
Ext2AddVcbExtent(Vcb, ByteOffset.QuadPart, (LONGLONG)Length);
|
||||
@@ -742,7 +732,6 @@ Ext2WriteInode (
|
||||
return Status;
|
||||
}
|
||||
|
||||
|
||||
NTSTATUS
|
||||
Ext2WriteFile(IN PEXT2_IRP_CONTEXT IrpContext)
|
||||
{
|
||||
@@ -1129,14 +1118,7 @@ Ext2WriteFile(IN PEXT2_IRP_CONTEXT IrpContext)
|
||||
}
|
||||
}
|
||||
|
||||
if (!CcCopyWrite(FileObject, &ByteOffset, Length, Ext2CanIWait(), Buffer)) {
|
||||
if (Ext2CanIWait() ||
|
||||
!CcCopyWrite(FileObject, &ByteOffset, Length, TRUE, Buffer)) {
|
||||
Status = STATUS_PENDING;
|
||||
DbgBreak();
|
||||
__leave;
|
||||
}
|
||||
}
|
||||
CcCopyWrite(FileObject, &ByteOffset, Length, TRUE, Buffer);
|
||||
|
||||
if (ByteOffset.QuadPart + Length > Fcb->Header.ValidDataLength.QuadPart ) {
|
||||
|
||||
@@ -1333,7 +1315,6 @@ Ext2WriteComplete (IN PEXT2_IRP_CONTEXT IrpContext)
|
||||
return Status;
|
||||
}
|
||||
|
||||
|
||||
NTSTATUS
|
||||
Ext2Write (IN PEXT2_IRP_CONTEXT IrpContext)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user