sys: lockctl, read, write: oplocks

This commit is contained in:
Bill Zissimopoulos 2016-11-12 18:01:27 -08:00
parent 7518a6e418
commit 764b772731
3 changed files with 5 additions and 5 deletions

View File

@ -52,7 +52,7 @@ static NTSTATUS FspFsvolLockControlRetry(
/* perform oplock check; we are only implementing Win7 behavior */ /* perform oplock check; we are only implementing Win7 behavior */
Result = FspCheckOplock(FspFileNodeAddrOfOplock(FileNode), Irp, Result = FspCheckOplock(FspFileNodeAddrOfOplock(FileNode), Irp,
(PVOID)(UINT_PTR)FspFsvolLockControlRetry, FspWqOplockComplete, FspWqOplockPrepare); (PVOID)(UINT_PTR)FspFsvolLockControlRetry, FspWqOplockComplete, FspWqOplockPrepare);
if (STATUS_PENDING == Result) if (!NT_SUCCESS(Result) || STATUS_PENDING == Result)
{ {
FspFileNodeRelease(FileNode, Main); FspFileNodeRelease(FileNode, Main);
return Result; return Result;

View File

@ -119,7 +119,7 @@ static NTSTATUS FspFsvolReadCached(
/* perform oplock check */ /* perform oplock check */
Result = FspCheckOplock(FspFileNodeAddrOfOplock(FileNode), Irp, Result = FspCheckOplock(FspFileNodeAddrOfOplock(FileNode), Irp,
(PVOID)(UINT_PTR)FspFsvolReadCached, FspWqOplockComplete, FspWqOplockPrepare); (PVOID)(UINT_PTR)FspFsvolReadCached, FspWqOplockComplete, FspWqOplockPrepare);
if (STATUS_PENDING == Result) if (!NT_SUCCESS(Result) || STATUS_PENDING == Result)
{ {
FspFileNodeRelease(FileNode, Main); FspFileNodeRelease(FileNode, Main);
return Result; return Result;
@ -250,7 +250,7 @@ static NTSTATUS FspFsvolReadNonCached(
{ {
Result = FspCheckOplock(FspFileNodeAddrOfOplock(FileNode), Irp, Result = FspCheckOplock(FspFileNodeAddrOfOplock(FileNode), Irp,
(PVOID)(UINT_PTR)FspFsvolReadNonCached, FspWqOplockComplete, FspWqOplockPrepare); (PVOID)(UINT_PTR)FspFsvolReadNonCached, FspWqOplockComplete, FspWqOplockPrepare);
if (STATUS_PENDING == Result) if (!NT_SUCCESS(Result) || STATUS_PENDING == Result)
{ {
FspFileNodeRelease(FileNode, Full); FspFileNodeRelease(FileNode, Full);
return Result; return Result;

View File

@ -143,7 +143,7 @@ static NTSTATUS FspFsvolWriteCached(
/* perform oplock check */ /* perform oplock check */
Result = FspCheckOplock(FspFileNodeAddrOfOplock(FileNode), Irp, Result = FspCheckOplock(FspFileNodeAddrOfOplock(FileNode), Irp,
(PVOID)(UINT_PTR)FspFsvolWriteCached, FspWqOplockComplete, FspWqOplockPrepare); (PVOID)(UINT_PTR)FspFsvolWriteCached, FspWqOplockComplete, FspWqOplockPrepare);
if (STATUS_PENDING == Result) if (!NT_SUCCESS(Result) || STATUS_PENDING == Result)
{ {
FspFileNodeRelease(FileNode, Main); FspFileNodeRelease(FileNode, Main);
return Result; return Result;
@ -320,7 +320,7 @@ static NTSTATUS FspFsvolWriteNonCached(
{ {
Result = FspCheckOplock(FspFileNodeAddrOfOplock(FileNode), Irp, Result = FspCheckOplock(FspFileNodeAddrOfOplock(FileNode), Irp,
(PVOID)(UINT_PTR)FspFsvolWriteNonCached, FspWqOplockComplete, FspWqOplockPrepare); (PVOID)(UINT_PTR)FspFsvolWriteNonCached, FspWqOplockComplete, FspWqOplockPrepare);
if (STATUS_PENDING == Result) if (!NT_SUCCESS(Result) || STATUS_PENDING == Result)
{ {
FspFileNodeRelease(FileNode, Full); FspFileNodeRelease(FileNode, Full);
return Result; return Result;