1
0
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:
Bo Branten
2026-02-09 16:54:34 +01:00
parent 2ad48351d5
commit 1d66b0b55d
2 changed files with 12 additions and 44 deletions

View File

@@ -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;
}

View File

@@ -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)
{