32 if (
Irp->PendingReturned)
49 DEBUG(
DL_INF, (
"Ext2FlushVolume: Flushing Vcb ...\n"));
97 DEBUG(
DL_INF, (
"Ext2FlushFile: Flushing File Inode=%xh %S ...\n",
98 Fcb->Inode->i_ino,
Fcb->
Mcb->ShortName.Buffer));
132 for (ListEntry =
Vcb->FcbList.Flink;
133 ListEntry != &
Vcb->FcbList;
134 ListEntry = ListEntry->
Flink ) {
193 Irp = IrpContext->Irp;
206 MainResourceAcquired =
208 ASSERT(MainResourceAcquired);
209 DEBUG(
DL_INF, (
"Ext2Flush-pre: total mcb records=%u\n",
239 DEBUG(
DL_INF, (
"Ext2Flush-post: total mcb records=%u\n",
245 if (MainResourceAcquired) {
249 if (!IrpContext->ExceptionInProgress) {
static PIO_STACK_LOCATION IoGetCurrentIrpStackLocation(PIRP Irp)
VOID NTAPI CcFlushCache(IN PSECTION_OBJECT_POINTERS SectionObjectPointer, IN OPTIONAL PLARGE_INTEGER FileOffset, IN ULONG Length, OUT OPTIONAL PIO_STATUS_BLOCK IoStatus)
_Inout_ PFILE_OBJECT _In_ TYPE_OF_OPEN PFCB _In_opt_ PCCB Ccb
#define NT_SUCCESS(StatCode)
_In_ PIO_STACK_LOCATION IrpSp
#define KeQuerySystemTime(t)
#define ExAcquireResourceExclusiveLite(res, wait)
NTSTATUS Ext2Flush(IN PEXT2_IRP_CONTEXT IrpContext)
NTSTATUS Ext2FlushFile(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_FCB Fcb, IN PEXT2_CCB Ccb)
NTSTATUS Ext2FlushCompletionRoutine(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PVOID Context)
NTSTATUS Ext2FlushFiles(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN BOOLEAN bShutDown)
NTSTATUS Ext2FlushVolume(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN BOOLEAN bShutDown)
NTSTATUS Ext2FlushVcb(IN PEXT2_VCB Vcb)
#define ClearFlag(_F, _SF)
#define IsVcbReadOnly(Vcb)
LARGE_INTEGER Ext2NtTime(IN ULONG i_time)
BOOLEAN Ext2SaveInode(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN struct inode *Inode)
#define IsExt2FsDevice(DO)
#define FCB_FILE_MODIFIED
ULONG Ext2LinuxTime(IN LARGE_INTEGER SysTime)
struct _EXT2_FCBVCB * PEXT2_FCBVCB
VOID Ext2VerifyVcb(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb)
#define FCB_DELETE_PENDING
struct _EXT2_VCB * PEXT2_VCB
struct _EXT2_CCB * PEXT2_CCB
#define CCB_LAST_WRITE_UPDATED
struct _EXT2_FCB * PEXT2_FCB
NTSTATUS Ext2CompleteIrpContext(IN PEXT2_IRP_CONTEXT IrpContext, IN NTSTATUS Status)
#define IoSetCompletionRoutine(_Irp, _CompletionRoutine, _Context, _InvokeOnSuccess, _InvokeOnError, _InvokeOnCancel)
ULONG NTAPI FsRtlNumberOfRunsInLargeMcb(IN PLARGE_MCB Mcb)
__in UCHAR __in POWER_STATE __in_opt PVOID __in PIO_STATUS_BLOCK IoStatus
#define FILE_ATTRIBUTE_ARCHIVE
BOOLEAN NTAPI ExAcquireSharedStarveExclusive(IN PERESOURCE Resource, IN BOOLEAN Wait)
VOID FASTCALL ExReleaseResourceLite(IN PERESOURCE Resource)
EXT2_IDENTIFIER Identifier
EXT2_IDENTIFIER_TYPE Type
NTFSIDENTIFIER Identifier
struct _LIST_ENTRY * Flink
#define CONTAINING_RECORD(address, type, field)
#define STATUS_INVALID_DEVICE_REQUEST
#define STATUS_FILE_DELETED
_In_ PDEVICE_OBJECT DeviceObject
_In_ WDFREQUEST _In_ WDFFILEOBJECT FileObject
__drv_aliasesMem FORCEINLINE PIO_STACK_LOCATION IoGetNextIrpStackLocation(_In_ PIRP Irp)