BOOLEAN bReleaseVolumeLock = FALSE;
BOOLEAN bReleaseTargetDirLock = FALSE;
BOOLEAN bReleaseSourceDirLock = FALSE;
+ PERESOURCE pSourceDirLock = NULL;
__Enter
{
try_return( ntStatus = STATUS_NOT_SAME_DEVICE);
}
- //
- // If the target exists be sure the ReplaceIfExists flag is set
- //
-
AFSAcquireExcl( pTargetParentObject->VolumeCB->VolumeLock,
TRUE);
TRUE);
bReleaseSourceDirLock = TRUE;
+
+ pSourceDirLock = pSrcFcb->ObjectInformation->ParentObjectInformation->Specific.Directory.DirectoryNodeHdr.TreeLock;
}
AFSLocateCaseSensitiveDirEntry( pTargetParentObject->Specific.Directory.DirectoryNodeHdr.CaseSensitiveTreeHead,
if( bReleaseSourceDirLock)
{
- AFSReleaseResource( pSrcFcb->ObjectInformation->ParentObjectInformation->Specific.Directory.DirectoryNodeHdr.TreeLock);
+ AFSReleaseResource( pSourceDirLock);
}
}