X-Git-Url: https://git.openafs.org/?p=openafs.git;a=blobdiff_plain;f=src%2FWINNT%2Fafsrdr%2Fkernel%2Flib%2FAFSGeneric.cpp;h=2f5e42a12c4e3e2ec426a5091dd1f8f99a56e82e;hp=9bdd99d50d029af27e416d0cf2690c13b83fc785;hb=65ff9935728e0142728e29295c7ef69bf73cecf4;hpb=3847ec9531b7bde9a2af9edded5b19d797789752 diff --git a/src/WINNT/afsrdr/kernel/lib/AFSGeneric.cpp b/src/WINNT/afsrdr/kernel/lib/AFSGeneric.cpp index 9bdd99d..2f5e42a 100644 --- a/src/WINNT/afsrdr/kernel/lib/AFSGeneric.cpp +++ b/src/WINNT/afsrdr/kernel/lib/AFSGeneric.cpp @@ -5844,7 +5844,7 @@ AFSVerifyVolume( IN ULONGLONG ProcessId, } NTSTATUS -AFSInitPIOCtlDirectoryCB( IN AFSObjectInfoCB *ObjectInfo) +AFSInitPIOCtlDirectoryCB( IN AFSObjectInfoCB *ParentObjectInfo) { NTSTATUS ntStatus = STATUS_SUCCESS; @@ -5857,7 +5857,7 @@ AFSInitPIOCtlDirectoryCB( IN AFSObjectInfoCB *ObjectInfo) __Enter { - pObjectInfoCB = AFSAllocateObjectInfo( ObjectInfo, + pObjectInfoCB = AFSAllocateObjectInfo( ParentObjectInfo, 0); if( pObjectInfoCB == NULL) @@ -5888,8 +5888,6 @@ AFSInitPIOCtlDirectoryCB( IN AFSObjectInfoCB *ObjectInfo) if( pDirNode == NULL) { - AFSDeleteObjectInfo( pObjectInfoCB); - try_return( ntStatus = STATUS_INSUFFICIENT_RESOURCES); } @@ -5941,28 +5939,15 @@ AFSInitPIOCtlDirectoryCB( IN AFSObjectInfoCB *ObjectInfo) pDirNode->CaseInsensitiveTreeEntry.HashIndex = AFSGenerateCRC( &pDirNode->NameInformation.FileName, TRUE); - if ( InterlockedCompareExchangePointer( (PVOID *)&ObjectInfo->Specific.Directory.PIOCtlDirectoryCB, pDirNode, NULL) != NULL) + if ( InterlockedCompareExchangePointer( (PVOID *)&ParentObjectInfo->Specific.Directory.PIOCtlDirectoryCB, pDirNode, NULL) != NULL) { AFSDbgLogMsg( AFS_SUBSYSTEM_FILE_PROCESSING, AFS_TRACE_LEVEL_WARNING, "AFSInitPIOCtlDirectoryCB Raced PIOCtlDirectoryCB %p pFcb %p\n", - ObjectInfo->Specific.Directory.PIOCtlDirectoryCB, + ParentObjectInfo->Specific.Directory.PIOCtlDirectoryCB, pDirNode); - // - // Increment the open reference and handle on the node - // - - lCount = AFSObjectInfoIncrement( pDirNode->ObjectInformation, - AFS_OBJECT_REFERENCE_DIRENTRY); - - AFSDbgLogMsg( AFS_SUBSYSTEM_FCB_REF_COUNTING, - AFS_TRACE_LEVEL_VERBOSE, - "AFSInitPIOCtlDirectoryCB Increment count on Object %p Cnt %d\n", - pDirNode->ObjectInformation, - lCount); - try_return( ntStatus = STATUS_REPARSE); }