From: Jeffrey Altman Date: Wed, 3 Oct 2012 01:11:01 +0000 (-0400) Subject: Windows: AFSPrimaryVolumeWorkerThread AFSRemoveFcb X-Git-Tag: upstream/1.8.0_pre1^2~1901 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=cecd99abd3837ef820d78fb15e450c8688b0f39b;p=packages%2Fo%2Fopenafs.git Windows: AFSPrimaryVolumeWorkerThread AFSRemoveFcb Do not call AFSRemoveFcb() on a directory entry whose Fcb has a non-zero use count. Change-Id: I0d733327c094f15a7b681eb1806a4fa9a4a6c151 Reviewed-on: http://gerrit.openafs.org/8223 Tested-by: BuildBot Reviewed-by: Rod Widdowson Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman --- diff --git a/src/WINNT/afsrdr/kernel/lib/AFSWorker.cpp b/src/WINNT/afsrdr/kernel/lib/AFSWorker.cpp index bb075acd7..869e1456c 100644 --- a/src/WINNT/afsrdr/kernel/lib/AFSWorker.cpp +++ b/src/WINNT/afsrdr/kernel/lib/AFSWorker.cpp @@ -1171,7 +1171,10 @@ AFSPrimaryVolumeWorkerThread( IN PVOID Context) FALSE)) { - if ( pCurrentObject->ObjectReferenceCount <= 0) + if ( pCurrentObject->ObjectReferenceCount <= 0 && + ( pCurrentObject->Fcb == NULL || + pCurrentObject->Fcb->OpenReferenceCount == 0 && + pCurrentObject->Fcb->Specific.File.ExtentCount == 0)) { AFSRemoveFcb( &pCurrentObject->Fcb);