sys: create: allow user mode file system to disable caching for individual files

This commit is contained in:
Bill Zissimopoulos 2016-11-04 13:08:10 -07:00
parent 5c8da5518c
commit 31c40d017d
2 changed files with 3 additions and 1 deletions

View File

@ -388,6 +388,7 @@ typedef struct
UINT32 GrantedAccess; /* FILE_{READ_DATA,WRITE_DATA,etc.} */
FSP_FSCTL_FILE_INFO FileInfo;
FSP_FSCTL_TRANSACT_BUF FileName;
UINT32 DisableCache:1;
} Opened;
/* IoStatus.Status == STATUS_REPARSE */
struct

View File

@ -843,7 +843,8 @@ NTSTATUS FspFsvolCreateComplete(
FileObject->FsContext = FileNode;
FileObject->FsContext2 = FileDesc;
if (FspTimeoutInfinity32 == FsvolDeviceExtension->VolumeParams.FileInfoTimeout &&
!FlagOn(IrpSp->Parameters.Create.Options, FILE_NO_INTERMEDIATE_BUFFERING))
!FlagOn(IrpSp->Parameters.Create.Options, FILE_NO_INTERMEDIATE_BUFFERING) &&
!Response->Rsp.Create.Opened.DisableCache)
/* enable caching! */
SetFlag(FileObject->Flags, FO_CACHE_SUPPORTED);