From 93254bede4da5db5330eb43a38b4e39fdc6571a1 Mon Sep 17 00:00:00 2001 From: Bill Zissimopoulos Date: Fri, 11 Nov 2016 22:54:09 -0800 Subject: [PATCH] sys: lockctl: oplocks --- src/sys/lockctl.c | 8 ++++++++ 1 file changed, 8 insertions(+) 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);