50 Irp = IrpContext->Irp;
80 VcbResourceAcquired =
TRUE;
104 FcbResourceAcquired =
166 Fcb->Inode->i_atime =
168 Fcb->
Mcb->LastAccessTime =
192 Fcb->NonCachedOpenCount--;
197 SymLinkDelete =
TRUE;
208 &
Fcb->FileLockAnchor,
238 #if EXT2_PRE_ALLOCATION_SUPPORT
257 FcbPagingIoResourceAcquired =
TRUE;
276 FcbPagingIoResourceAcquired =
FALSE;
287 (
Fcb->SectionObject.DataSectionObject !=
NULL)) {
295 if (
Fcb->NonCachedOpenCount > 0 ||
320 if (FcbResourceAcquired) {
322 FcbResourceAcquired =
FALSE;
351 FcbResourceAcquired =
356 if (!SymLinkDelete) {
365 DEBUG(
DL_INF, (
"Ext2Cleanup: OpenCount=%u ReferCount=%u NonCahcedCount=%xh %wZ\n",
376 if (FcbPagingIoResourceAcquired) {
380 if (FcbResourceAcquired) {
384 if (VcbResourceAcquired) {
388 if (!IrpContext->ExceptionInProgress) {
392 IrpContext->Irp->IoStatus.Status =
Status;
VOID NTAPI CcFlushCache(IN PSECTION_OBJECT_POINTERS SectionObjectPointer, IN OPTIONAL PLARGE_INTEGER FileOffset, IN ULONG Length, OUT OPTIONAL PIO_STATUS_BLOCK IoStatus)
#define CcIsFileCached(FO)
_Inout_ PFILE_OBJECT _In_ TYPE_OF_OPEN PFCB _In_opt_ PCCB Ccb
#define NT_SUCCESS(StatCode)
NTSTATUS Ext2Cleanup(IN PEXT2_IRP_CONTEXT IrpContext)
#define KeQuerySystemTime(t)
#define ExAcquireResourceExclusiveLite(res, wait)
#define ClearFlag(_F, _SF)
#define Ext2GetCurrentProcessName()
#define VCB_VOLUME_LOCKED
#define IsVcbReadOnly(Vcb)
NTSTATUS Ext2TruncateFile(PEXT2_IRP_CONTEXT IrpContext, PEXT2_VCB Vcb, PEXT2_MCB Mcb, PLARGE_INTEGER AllocationSize)
LARGE_INTEGER Ext2NtTime(IN ULONG i_time)
BOOLEAN Ext2SaveInode(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN struct inode *Inode)
NTSTATUS Ext2DeleteFile(PEXT2_IRP_CONTEXT IrpContext, PEXT2_VCB Vcb, PEXT2_FCB Fcb, PEXT2_MCB Mcb)
#define IsExt2FsDevice(DO)
NTSTATUS Ext2QueueRequest(IN PEXT2_IRP_CONTEXT IrpContext)
#define FCB_ALLOC_IN_WRITE
#define SetLongFlag(_F, _SF)
#define FCB_FILE_MODIFIED
VOID Ext2ClearVpbFlag(IN PVPB Vpb, IN USHORT Flag)
#define FCB_ALLOC_IN_SETINFO
ULONG Ext2LinuxTime(IN LARGE_INTEGER SysTime)
#define ClearLongFlag(_F, _SF)
NTSTATUS Ext2FlushFile(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_FCB Fcb, IN PEXT2_CCB Ccb)
VOID Ext2NotifyReportChange(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN PEXT2_MCB Mcb, IN ULONG Filter, IN ULONG Action)
#define IsMcbDirectory(Mcb)
#define IsInodeSymLink(I)
#define FCB_DELETE_PENDING
#define FCB_ALLOC_IN_CREATE
struct _EXT2_VCB * PEXT2_VCB
#define CCB_DELETE_ON_CLOSE
struct _EXT2_CCB * PEXT2_CCB
#define CCB_LAST_WRITE_UPDATED
struct _EXT2_FCB * PEXT2_FCB
#define CEILING_ALIGNED(T, A, B)
NTSTATUS Ext2CompleteIrpContext(IN PEXT2_IRP_CONTEXT IrpContext, IN NTSTATUS Status)
FAST_IO_POSSIBLE Ext2IsFastIoPossible(IN PEXT2_FCB Fcb)
int ext3_release_dir(struct inode *inode, struct file *filp)
#define INODE_HAS_EXTENT(i)
IN PVCB IN ULONG IN OUT PULONG IN BOOLEAN OUT PLARGE_MCB Mcb
PFILE_LOCK_INFO NTAPI FsRtlGetNextFileLock(IN PFILE_LOCK FileLock, IN BOOLEAN Restart)
NTSTATUS NTAPI FsRtlFastUnlockAll(IN PFILE_LOCK FileLock, IN PFILE_OBJECT FileObject, IN PEPROCESS Process, IN PVOID Context OPTIONAL)
VOID NTAPI CcSetFileSizes(IN PFILE_OBJECT FileObject, IN PCC_FILE_SIZES FileSizes)
BOOLEAN NTAPI CcUninitializeCacheMap(IN PFILE_OBJECT FileObject, IN OPTIONAL PLARGE_INTEGER TruncateSize, IN OPTIONAL PCACHE_UNINITIALIZE_EVENT UninitializeEvent)
BOOLEAN NTAPI CcZeroData(IN PFILE_OBJECT FileObject, IN PLARGE_INTEGER StartOffset, IN PLARGE_INTEGER EndOffset, IN BOOLEAN Wait)
BOOLEAN NTAPI CcPurgeCacheSection(IN PSECTION_OBJECT_POINTERS SectionObjectPointer, IN OPTIONAL PLARGE_INTEGER FileOffset, IN ULONG Length, IN BOOLEAN UninitializeCacheMaps)
#define EXCEPTION_EXECUTE_HANDLER
#define FILE_ATTRIBUTE_ARCHIVE
VOID FASTCALL ExReleaseResourceLite(IN PERESOURCE Resource)
VOID NTAPI FsRtlNotifyCleanup(IN PNOTIFY_SYNC NotifySync, IN PLIST_ENTRY NotifyList, IN PVOID FsContext)
VOID NTAPI FsRtlNotifyFullChangeDirectory(IN PNOTIFY_SYNC NotifySync, IN PLIST_ENTRY NotifyList, IN PVOID FsContext, IN PSTRING FullDirectoryName, IN BOOLEAN WatchTree, IN BOOLEAN IgnoreBuffer, IN ULONG CompletionFilter, IN PIRP NotifyIrp, IN PCHECK_FOR_TRAVERSE_ACCESS TraverseCallback OPTIONAL, IN PSECURITY_SUBJECT_CONTEXT SubjectContext OPTIONAL)
VOID NTAPI IoRemoveShareAccess(IN PFILE_OBJECT FileObject, IN PSHARE_ACCESS ShareAccess)
PEPROCESS NTAPI IoGetRequestorProcess(IN PIRP Irp)
NTSTATUS NTAPI FsRtlCheckOplock(IN POPLOCK Oplock, IN PIRP Irp, IN PVOID Context, IN POPLOCK_WAIT_COMPLETE_ROUTINE CompletionRoutine OPTIONAL, IN POPLOCK_FS_PREPOST_IRP PostIrpRoutine OPTIONAL)
#define _SEH2_EXCEPT(...)
ERESOURCE PagingIoResource
NTFSIDENTIFIER Identifier
FSRTL_ADVANCED_FCB_HEADER Header
_In_ PDEVICE_OBJECT DeviceObject
_In_ WDFREQUEST _In_ WDFFILEOBJECT FileObject
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG Size
#define FILE_ACTION_MODIFIED
#define FILE_NOTIFY_CHANGE_LAST_ACCESS
#define FILE_NOTIFY_CHANGE_ATTRIBUTES
#define FILE_ACTION_REMOVED
#define FILE_NOTIFY_CHANGE_FILE_NAME
#define FO_CLEANUP_COMPLETE
#define FO_CACHE_SUPPORTED
#define FILE_NOTIFY_CHANGE_LAST_WRITE
#define FILE_NOTIFY_CHANGE_DIR_NAME