&pResultCB->DirEnum.FileId))
{
- lCount = InterlockedIncrement( &pDirNode->DirOpenReferenceCount);
-
- AFSDbgLogMsg( AFS_SUBSYSTEM_DIRENTRY_REF_COUNTING,
- AFS_TRACE_LEVEL_VERBOSE,
- "AFSNotifyHardLink Increment count on %wZ DE %p Cnt %d\n",
- &pDirNode->NameInformation.FileName,
- pDirNode,
- lCount);
-
- ASSERT( lCount >= 0);
-
- AFSReleaseResource( TargetParentObjectInfo->Specific.Directory.DirectoryNodeHdr.TreeLock);
-
try_return( ntStatus = STATUS_REPARSE);
}
else
TargetParentObjectInfo->DataVersion.QuadPart = (ULONGLONG)-1;
- AFSReleaseResource( TargetParentObjectInfo->Specific.Directory.DirectoryNodeHdr.TreeLock);
-
try_return( ntStatus = STATUS_INSUFFICIENT_RESOURCES);
}
try_exit:
+ if ( TargetDirectoryCB != NULL)
+ {
+
+ lCount = InterlockedIncrement( &pDirNode->DirOpenReferenceCount);
+
+ AFSDbgLogMsg( AFS_SUBSYSTEM_DIRENTRY_REF_COUNTING,
+ AFS_TRACE_LEVEL_VERBOSE,
+ "AFSNotifyHardLink Increment count on %wZ DE %p Cnt %d\n",
+ &pDirNode->NameInformation.FileName,
+ pDirNode,
+ lCount);
+
+ ASSERT( lCount >= 0);
+
+ *TargetDirectoryCB = pDirNode;
+ }
+
if ( bReleaseTargetParentLock)
{
AFSExFreePoolWithTag( pHardLinkCB, AFS_HARDLINK_REQUEST_TAG);
}
-
- if ( TargetDirectoryCB)
- {
-
- *TargetDirectoryCB = pDirNode;
- }
}
return ntStatus;