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) {
|
for (Extent = Chain; Extent != NULL; Extent = Extent->Next) {
|
||||||
|
|
||||||
if (!CcCopyRead(
|
CcCopyRead(
|
||||||
Vcb->Volume,
|
Vcb->Volume,
|
||||||
(PLARGE_INTEGER)(&(Extent->Lba)),
|
(PLARGE_INTEGER)(&(Extent->Lba)),
|
||||||
Extent->Length,
|
Extent->Length,
|
||||||
TRUE,
|
TRUE,
|
||||||
(PVOID)((PUCHAR)Buffer + Extent->Offset),
|
(PVOID)((PUCHAR)Buffer + Extent->Offset),
|
||||||
&IoStatus
|
&IoStatus
|
||||||
)) {
|
);
|
||||||
Status = STATUS_CANT_WAIT;
|
Status = IoStatus.Status;
|
||||||
} else {
|
|
||||||
Status = IoStatus.Status;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!NT_SUCCESS(Status)) {
|
if (!NT_SUCCESS(Status)) {
|
||||||
break;
|
break;
|
||||||
@@ -694,17 +691,7 @@ Ext2ReadFile(IN PEXT2_IRP_CONTEXT IrpContext)
|
|||||||
__leave;
|
__leave;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!CcCopyRead(FileObject, &ByteOffset, ReturnedLength,
|
CcCopyRead(FileObject, &ByteOffset, ReturnedLength, TRUE, Buffer, &Irp->IoStatus);
|
||||||
Ext2CanIWait(), Buffer, &Irp->IoStatus)) {
|
|
||||||
|
|
||||||
if (Ext2CanIWait() || !CcCopyRead(FileObject, &ByteOffset,
|
|
||||||
ReturnedLength, TRUE,
|
|
||||||
Buffer, &Irp->IoStatus)) {
|
|
||||||
Status = STATUS_PENDING;
|
|
||||||
DbgBreak();
|
|
||||||
__leave;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Status = Irp->IoStatus.Status;
|
Status = Irp->IoStatus.Status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -43,7 +43,6 @@ Ext2FloppyFlushDpc (
|
|||||||
IN PVOID SystemArgument1,
|
IN PVOID SystemArgument1,
|
||||||
IN PVOID SystemArgument2);
|
IN PVOID SystemArgument2);
|
||||||
|
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
Ext2WriteComplete (IN PEXT2_IRP_CONTEXT IrpContext);
|
Ext2WriteComplete (IN PEXT2_IRP_CONTEXT IrpContext);
|
||||||
|
|
||||||
@@ -56,7 +55,6 @@ Ext2WriteVolume (IN PEXT2_IRP_CONTEXT IrpContext);
|
|||||||
VOID
|
VOID
|
||||||
Ext2DeferWrite(IN PEXT2_IRP_CONTEXT, PIRP Irp);
|
Ext2DeferWrite(IN PEXT2_IRP_CONTEXT, PIRP Irp);
|
||||||
|
|
||||||
|
|
||||||
/* FUNCTIONS *************************************************************/
|
/* FUNCTIONS *************************************************************/
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
@@ -215,7 +213,6 @@ Ext2DeferWrite(IN PEXT2_IRP_CONTEXT IrpContext, PIRP Irp)
|
|||||||
Ext2QueueRequest(IrpContext);
|
Ext2QueueRequest(IrpContext);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
Ext2WriteVolume (IN PEXT2_IRP_CONTEXT IrpContext)
|
Ext2WriteVolume (IN PEXT2_IRP_CONTEXT IrpContext)
|
||||||
{
|
{
|
||||||
@@ -421,14 +418,7 @@ Ext2WriteVolume (IN PEXT2_IRP_CONTEXT IrpContext)
|
|||||||
__leave;
|
__leave;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!CcCopyWrite( Vcb->Volume,
|
CcCopyWrite(Vcb->Volume, (PLARGE_INTEGER)(&ByteOffset), Length, TRUE, Buffer);
|
||||||
(PLARGE_INTEGER)(&ByteOffset),
|
|
||||||
Length,
|
|
||||||
TRUE,
|
|
||||||
Buffer )) {
|
|
||||||
Status = STATUS_PENDING;
|
|
||||||
__leave;
|
|
||||||
}
|
|
||||||
|
|
||||||
Status = Irp->IoStatus.Status;
|
Status = Irp->IoStatus.Status;
|
||||||
Ext2AddVcbExtent(Vcb, ByteOffset.QuadPart, (LONGLONG)Length);
|
Ext2AddVcbExtent(Vcb, ByteOffset.QuadPart, (LONGLONG)Length);
|
||||||
@@ -742,7 +732,6 @@ Ext2WriteInode (
|
|||||||
return Status;
|
return Status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
Ext2WriteFile(IN PEXT2_IRP_CONTEXT IrpContext)
|
Ext2WriteFile(IN PEXT2_IRP_CONTEXT IrpContext)
|
||||||
{
|
{
|
||||||
@@ -1129,14 +1118,7 @@ Ext2WriteFile(IN PEXT2_IRP_CONTEXT IrpContext)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!CcCopyWrite(FileObject, &ByteOffset, Length, Ext2CanIWait(), Buffer)) {
|
CcCopyWrite(FileObject, &ByteOffset, Length, TRUE, Buffer);
|
||||||
if (Ext2CanIWait() ||
|
|
||||||
!CcCopyWrite(FileObject, &ByteOffset, Length, TRUE, Buffer)) {
|
|
||||||
Status = STATUS_PENDING;
|
|
||||||
DbgBreak();
|
|
||||||
__leave;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (ByteOffset.QuadPart + Length > Fcb->Header.ValidDataLength.QuadPart ) {
|
if (ByteOffset.QuadPart + Length > Fcb->Header.ValidDataLength.QuadPart ) {
|
||||||
|
|
||||||
@@ -1333,7 +1315,6 @@ Ext2WriteComplete (IN PEXT2_IRP_CONTEXT IrpContext)
|
|||||||
return Status;
|
return Status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
Ext2Write (IN PEXT2_IRP_CONTEXT IrpContext)
|
Ext2Write (IN PEXT2_IRP_CONTEXT IrpContext)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user