diff --git a/Ext4Fsd/close.c b/Ext4Fsd/close.c index fbc677a..b5d2a05 100644 --- a/Ext4Fsd/close.c +++ b/Ext4Fsd/close.c @@ -186,6 +186,9 @@ Ext2Close (IN PEXT2_IRP_CONTEXT IrpContext) return Status; } +/* TO INVESTIGATE: Since no call in Ext2Close return STATUS_PENDING (because the wait parameter to + ExAcquireResourceExclusiveLite is TRUE) the functions below will never be called and could be removed? */ + VOID Ext2QueueCloseRequest (IN PEXT2_IRP_CONTEXT IrpContext) { diff --git a/Ext4Fsd/flush.c b/Ext4Fsd/flush.c index 999e3d7..3dbbe13 100644 --- a/Ext4Fsd/flush.c +++ b/Ext4Fsd/flush.c @@ -17,7 +17,6 @@ extern PEXT2_GLOBAL Ext2Global; /* DEFINITIONS *************************************************************/ - NTSTATUS Ext2FlushCompletionRoutine ( IN PDEVICE_OBJECT DeviceObject, @@ -28,7 +27,6 @@ Ext2FlushCompletionRoutine ( if (Irp->PendingReturned) IoMarkIrpPending( Irp ); - if (Irp->IoStatus.Status == STATUS_INVALID_DEVICE_REQUEST) Irp->IoStatus.Status = STATUS_SUCCESS; @@ -139,7 +137,6 @@ Ext2FlushFiles( return IoStatus.Status; } - NTSTATUS Ext2Flush (IN PEXT2_IRP_CONTEXT IrpContext) { @@ -213,6 +210,8 @@ Ext2Flush (IN PEXT2_IRP_CONTEXT IrpContext) __leave; } + /* TO INVESTIGATE: Ext2FlushFiles will always return STATUS_SUCCESS so Ext2FlushVolume will never be called? */ + Status = Ext2FlushVolume(IrpContext, (PEXT2_VCB)(FcbOrVcb), FALSE); if (NT_SUCCESS(Status) && IsFlagOn(Vcb->Volume->Flags, FO_FILE_MODIFIED)) { @@ -235,7 +234,6 @@ Ext2Flush (IN PEXT2_IRP_CONTEXT IrpContext) DEBUG(DL_INF, ("Ext2Flush-post: total mcb records=%u\n", FsRtlNumberOfRunsInLargeMcb(&Vcb->Extents))); - } __finally { if (MainResourceAcquired) {