diff --git a/inc/winfsp/winfsp.h b/inc/winfsp/winfsp.h index 7f77b64a..0ca965d9 100644 --- a/inc/winfsp/winfsp.h +++ b/inc/winfsp/winfsp.h @@ -105,7 +105,8 @@ typedef NTSTATUS FSP_FILE_SYSTEM_OPERATION(FSP_FILE_SYSTEM *, * The fine-grained concurrency model applies the exclusive-shared lock as * follows: * diff --git a/src/dll/fsop.c b/src/dll/fsop.c index 0fcd7d86..4805cb3f 100644 --- a/src/dll/fsop.c +++ b/src/dll/fsop.c @@ -29,7 +29,9 @@ FSP_API NTSTATUS FspFileSystemOpEnter(FSP_FILE_SYSTEM *FileSystem, Request->Req.Cleanup.Delete) || (FspFsctlTransactSetInformationKind == Request->Kind && 10/*FileRenameInformation*/ == Request->Req.SetInformation.FileInformationClass) || - FspFsctlTransactSetVolumeInformationKind == Request->Kind) + FspFsctlTransactSetVolumeInformationKind == Request->Kind || + (FspFsctlTransactFlushBuffersKind == Request->Kind && + 0 == Request->Req.FlushBuffers.UserContext)) { AcquireSRWLockExclusive(&FileSystem->OpGuardLock); }