diff --git a/src/dll/fuse/fuse_intf.c b/src/dll/fuse/fuse_intf.c index 227281f7..67d195c0 100644 --- a/src/dll/fuse/fuse_intf.c +++ b/src/dll/fuse/fuse_intf.c @@ -1046,13 +1046,15 @@ static NTSTATUS fsp_fuse_intf_Create(FSP_FILE_SYSTEM *FileSystem, goto exit; /* - * Ignore fuse_file_info::direct_io, fuse_file_info::keep_cache. + * Ignore fuse_file_info::keep_cache. * NOTE: Originally WinFsp did not support disabling the cache manager * for an individual file. This is now possible and we should revisit. * * Ignore fuse_file_info::nonseekable. */ + FspFileSystemGetOperationContext()->Response->Rsp.Create.Opened.DisableCache = fi.direct_io; + *PFileDesc = filedesc; memcpy(FileInfo, &FileInfoBuf, sizeof FileInfoBuf); @@ -1191,13 +1193,15 @@ static NTSTATUS fsp_fuse_intf_Open(FSP_FILE_SYSTEM *FileSystem, goto exit; /* - * Ignore fuse_file_info::direct_io, fuse_file_info::keep_cache. + * Ignore fuse_file_info::keep_cache. * NOTE: Originally WinFsp did not support disabling the cache manager * for an individual file. This is now possible and we should revisit. * * Ignore fuse_file_info::nonseekable. */ + FspFileSystemGetOperationContext()->Response->Rsp.Create.Opened.DisableCache = fi.direct_io; + *PFileDesc = filedesc; memcpy(FileInfo, &FileInfoBuf, sizeof FileInfoBuf);