mirror of
https://github.com/winfsp/winfsp.git
synced 2025-06-07 12:32:11 -05:00
sys: oplock fix
This commit is contained in:
parent
6803bb4136
commit
d75e9f7ee6
@ -242,8 +242,7 @@ static VOID FspFsvolCleanupRequestFini(FSP_FSCTL_TRANSACT_REQ *Request, PVOID Co
|
||||
FspFileNodeReleaseOwner(FileNode, Pgio, Request);
|
||||
|
||||
FspFileNodeCleanupComplete(FileNode, FileObject, !!Request->Req.Cleanup.Delete);
|
||||
if (!FileNode->IsDirectory)
|
||||
FspFileNodeOplockCheck(FileNode, Irp);
|
||||
FspFileNodeOplockCheck(FileNode, Irp);
|
||||
SetFlag(FileObject->Flags, FO_CLEANUP_COMPLETE);
|
||||
|
||||
MainFileHandle = FileDesc->MainFileHandle;
|
||||
|
@ -75,6 +75,9 @@ static NTSTATUS FspFsvolClose(
|
||||
|
||||
ASSERT(FileNode == FileDesc->FileNode);
|
||||
|
||||
if (!FlagOn(FileObject->Flags, FO_CLEANUP_COMPLETE))
|
||||
FspFileNodeOplockCheck(FileNode, Irp);
|
||||
|
||||
/* create the user-mode file system request; MustSucceed because IRP_MJ_CLOSE cannot fail */
|
||||
FspIopCreateRequestMustSucceed(0, 0, 0, &Request);
|
||||
Request->Kind = FspFsctlTransactCloseKind;
|
||||
|
@ -441,9 +441,6 @@ static NTSTATUS FspFsvolFileSystemControlOplock(
|
||||
ULONG OplockCount;
|
||||
FSP_FSVOL_FILESYSTEM_CONTROL_OPLOCK_COMPLETION_CONTEXT *CompletionContext;
|
||||
|
||||
if (FileNode->IsDirectory)
|
||||
return STATUS_INVALID_PARAMETER;
|
||||
|
||||
/*
|
||||
* As per FastFat:
|
||||
*
|
||||
|
Loading…
x
Reference in New Issue
Block a user