mirror of
https://github.com/winfsp/winfsp.git
synced 2025-06-08 13:02:10 -05:00
sys: FspReleaseForCcFlush: another bug fix for crazy NTOS semantics on this callback
This commit is contained in:
parent
7025dd5cf0
commit
6dd6ec6b47
@ -171,10 +171,10 @@ NTSTATUS FspReleaseForCcFlush(
|
|||||||
PIRP TopLevelIrp = IoGetTopLevelIrp();
|
PIRP TopLevelIrp = IoGetTopLevelIrp();
|
||||||
ULONG TopFlags;
|
ULONG TopFlags;
|
||||||
|
|
||||||
ASSERT((PIRP)FSRTL_CACHE_TOP_LEVEL_IRP == TopLevelIrp ||
|
if ((PIRP)FSRTL_MAX_TOP_LEVEL_IRP_FLAG >= TopLevelIrp)
|
||||||
(PIRP)FSRTL_MAX_TOP_LEVEL_IRP_FLAG < TopLevelIrp);
|
|
||||||
if ((PIRP)FSRTL_CACHE_TOP_LEVEL_IRP == TopLevelIrp)
|
|
||||||
{
|
{
|
||||||
|
ASSERT(0 == TopLevelIrp || (PIRP)FSRTL_CACHE_TOP_LEVEL_IRP == TopLevelIrp);
|
||||||
|
if ((PIRP)FSRTL_CACHE_TOP_LEVEL_IRP == TopLevelIrp)
|
||||||
IoSetTopLevelIrp(FileNode->Tls.CcFlush.TopLevelIrp);
|
IoSetTopLevelIrp(FileNode->Tls.CcFlush.TopLevelIrp);
|
||||||
FileNode->Tls.CcFlush.TopLevelIrp = 0;
|
FileNode->Tls.CcFlush.TopLevelIrp = 0;
|
||||||
FspFileNodeRelease(FileNode, Full);
|
FspFileNodeRelease(FileNode, Full);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user