550 IoStackLocation->
Parameters.SetFile.FileInformationClass;
552 Buffer =
Irp->AssociatedIrp.SystemBuffer;
645 FcbMainResourceAcquired =
TRUE;
658 FcbPagingIoResourceAcquired =
TRUE;
797 DEBUG(
DL_IO, (
"Ext2SetInformation: %wZ NewSize=%I64xh AllocationSize=%I64xh " 798 "FileSize=%I64xh VDL=%I64xh i_size=%I64xh status = %xh\n",
828 if (IoStackLocation->
Parameters.SetFile.AdvanceOnly) {
915 if (
Fcb->
Header.FileSize.QuadPart >= 0x80000000 &&
929 DEBUG(
DL_IO, (
"Ext2SetInformation: FileEndOfFileInformation %wZ EndofFile=%I64xh " 930 "AllocatieonSize=%I64xh FileSize=%I64xh VDL=%I64xh i_size=%I64xh status = %xh\n",
979 DEBUG(
DL_INF, (
"Ext2SetInformation: SetDispositionInformation: DeleteFile=%d %wZ status = %xh\n",
1032 DEBUG(
DL_WRN, (
"Ext2SetInformation: invalid class: %d\n",
1039 if (FcbPagingIoResourceAcquired) {
1053 if (FcbMainResourceAcquired) {
1057 if (!IrpContext->ExceptionInProgress) {
struct _EXT2_FCB * PEXT2_FCB
BOOLEAN NTAPI MmCanFileBeTruncated(IN PSECTION_OBJECT_POINTERS SectionObjectPointer, IN PLARGE_INTEGER NewFileSize)
struct _FILE_BASIC_INFORMATION * PFILE_BASIC_INFORMATION
#define IRP_CONTEXT_FLAG_WAIT
NTSTATUS Ext2SetDispositionInfo(PEXT2_IRP_CONTEXT IrpContext, PEXT2_VCB Vcb, PEXT2_FCB Fcb, PEXT2_CCB Ccb, BOOLEAN bDelete)
#define FILE_ATTRIBUTE_TEMPORARY
_In_ ULONG _In_ ULONG _In_ ULONG Length
#define IsMcbDirectory(Mcb)
FSRTL_ADVANCED_FCB_HEADER Header
BOOLEAN Ext2SaveSuper(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb)
IN BOOLEAN OUT PSTR Buffer
#define CEILING_ALIGNED(T, A, B)
LARGE_INTEGER Ext2NtTime(IN ULONG i_time)
struct _FILE_DISPOSITION_INFORMATION * PFILE_DISPOSITION_INFORMATION
#define STATUS_INVALID_PARAMETER
PDEVICE_OBJECT DeviceObject
#define Ext2SetOwnerWritable(m)
PEXT2_IRP_CONTEXT IrpContext
#define STATUS_INVALID_DEVICE_REQUEST
#define FILE_NOTIFY_CHANGE_SIZE
#define FILE_NOTIFY_CHANGE_LAST_WRITE
static OUT PIO_STATUS_BLOCK OUT PVOID IN ULONG IN FILE_INFORMATION_CLASS FileInformationClass
#define FO_NO_INTERMEDIATE_BUFFERING
#define FCB_DELETE_PENDING
NTSTATUS Ext2TruncateFile(PEXT2_IRP_CONTEXT IrpContext, PEXT2_VCB Vcb, PEXT2_MCB Mcb, PLARGE_INTEGER Size)
EXT2_IDENTIFIER_TYPE Type
BOOLEAN NTAPI ExAcquireResourceExclusiveLite(IN PERESOURCE Resource, IN BOOLEAN Wait)
_In_ PDEVICE_OBJECT DeviceObject
NTFSIDENTIFIER Identifier
int Ext2CheckFileAccess(PEXT2_VCB Vcb, PEXT2_MCB Mcb, int attempt)
NTSTATUS Ext2QueueRequest(IN PEXT2_IRP_CONTEXT IrpContext)
#define CcIsFileCached(FO)
#define FILE_ACTION_MODIFIED
VOID Ext2NotifyReportChange(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN PEXT2_MCB Mcb, IN ULONG Filter, IN ULONG Action)
NTSTATUS Ext2SetRenameInfo(PEXT2_IRP_CONTEXT IrpContext, PEXT2_VCB Vcb, PEXT2_FCB Fcb, PEXT2_CCB Ccb)
struct _FILE_ALLOCATION_INFORMATION * PFILE_ALLOCATION_INFORMATION
#define STATUS_MEDIA_WRITE_PROTECTED
#define ClearLongFlag(_F, _SF)
FAST_IO_POSSIBLE Ext2IsFastIoPossible(IN PEXT2_FCB Fcb)
#define FCB_ALLOC_IN_WRITE
#define STATUS_USER_MAPPED_FILE
#define STATUS_FILE_DELETED
_In_ WDFREQUEST _In_ WDFFILEOBJECT FileObject
#define FILE_NOTIFY_CHANGE_CREATION
#define Ext2SetOwnerReadOnly(m)
struct _FILE_END_OF_FILE_INFORMATION * PFILE_END_OF_FILE_INFORMATION
#define FILE_ATTRIBUTE_DIRECTORY
EXT2_IDENTIFIER Identifier
enum _FILE_INFORMATION_CLASS FILE_INFORMATION_CLASS
#define NT_SUCCESS(StatCode)
#define IsVcbReadOnly(Vcb)
#define CCB_LAST_WRITE_UPDATED
#define IsMcbSymLink(Mcb)
#define FILE_ATTRIBUTE_READONLY
#define STATUS_ACCESS_DENIED
VOID FASTCALL ExReleaseResourceLite(IN PERESOURCE Resource)
#define STATUS_UNSUCCESSFUL
#define FILE_ATTRIBUTE_NORMAL
struct _FILE_VALID_DATA_LENGTH_INFORMATION * PFILE_VALID_DATA_LENGTH_INFORMATION
NTSTATUS Ext2CompleteIrpContext(IN PEXT2_IRP_CONTEXT IrpContext, IN NTSTATUS Status)
_Must_inspect_result_ _In_ PFLT_INSTANCE _Out_ PBOOLEAN IsDirectory
#define FCB_FILE_MODIFIED
_Inout_ PFILE_OBJECT _In_ TYPE_OF_OPEN PFCB _In_opt_ PCCB Ccb
_Must_inspect_result_ _In_ USHORT NewSize
ClearFlag(Dirent->Flags, DIRENT_FLAG_NOT_PERSISTENT)
IN PFCB IN PFILE_OBJECT FileObject IN ULONG AllocationSize
__drv_aliasesMem FORCEINLINE PIO_STACK_LOCATION IoGetCurrentIrpStackLocation(_In_ PIRP Irp)
#define FO_TEMPORARY_FILE
#define FILE_NOTIFY_CHANGE_ATTRIBUTES
VOID NTAPI CcSetFileSizes(IN PFILE_OBJECT FileObject, IN PCC_FILE_SIZES FileSizes)
IN PVCB IN ULONG IN OUT PULONG IN BOOLEAN OUT PLARGE_MCB Mcb
#define SetLongFlag(_F, _SF)
NTSTATUS Ext2ExpandFile(PEXT2_IRP_CONTEXT IrpContext, PEXT2_VCB Vcb, PEXT2_MCB Mcb, PLARGE_INTEGER Size)
#define VCB_VOLUME_LOCKED
#define IsMcbSpecialFile(Mcb)
struct _FILE_POSITION_INFORMATION * PFILE_POSITION_INFORMATION
#define IsExt2FsDevice(DO)
ERESOURCE PagingIoResource
struct _EXT2_VCB * PEXT2_VCB
#define EXT2_FEATURE_RO_COMPAT_LARGE_FILE
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 FCB_ALLOC_IN_CREATE
#define FCB_ALLOC_IN_SETINFO
struct _NAMED_PIPE_CREATE_PARAMETERS * Parameters
struct _EXT2_CCB * PEXT2_CCB
#define FILE_NOTIFY_CHANGE_LAST_ACCESS
BOOLEAN Ext2SaveInode(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN struct inode *Inode)
ULONG Ext2LinuxTime(IN LARGE_INTEGER SysTime)
_In_opt_ HANDLE _In_opt_ PIO_APC_ROUTINE _In_opt_ PVOID _Out_ PIO_STATUS_BLOCK _In_ ULONG NotifyFilter
NTSTATUS Ext2SetLinkInfo(PEXT2_IRP_CONTEXT IrpContext, PEXT2_VCB Vcb, PEXT2_FCB Fcb, PEXT2_CCB Ccb)