From 97ee4fa77f593735496a15d9494f0a4a4251001d Mon Sep 17 00:00:00 2001 From: Bill Zissimopoulos Date: Sat, 12 Nov 2016 11:32:37 -0800 Subject: [PATCH] sys: lockctl: oplocks --- src/sys/lockctl.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/sys/lockctl.c b/src/sys/lockctl.c index 1d3c7ac2..5627362c 100644 --- a/src/sys/lockctl.c +++ b/src/sys/lockctl.c @@ -50,10 +50,11 @@ static NTSTATUS FspFsvolLockControlRetry( 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)) + Result = FspCheckOplock(FspFileNodeAddrOfOplock(FileNode), Irp, + 0, FspWqOplockComplete, FspWqOplockPrepare); + if (STATUS_PENDING == Result) { - FspFileNodeRelease(FileNode); + FspFileNodeRelease(FileNode, Main); return Result; }