diff --git a/src/sys/lockctl.c b/src/sys/lockctl.c index aa927c0c..1d3c7ac2 100644 --- a/src/sys/lockctl.c +++ b/src/sys/lockctl.c @@ -49,6 +49,14 @@ static NTSTATUS FspFsvolLockControlRetry( if (!Success) return FspWqRepostIrpWorkItem(Irp, FspFsvolLockControlRetry, 0); + /* perform oplock check; we are only implementing Win7 behavior */ + Result = FspCheckOplock(FspFileNodeAddrOfOplock(FileNode), Irp, 0, 0, 0); + if (!NT_SUCCESS(Result)) + { + FspFileNodeRelease(FileNode); + return Result; + } + /* let the FSRTL package handle this one! */ Result = FspFileNodeProcessLockIrp(FileNode, Irp);