From dd0f4bcd06c2283bc4ebbd3b44ed0f0e47b73d03 Mon Sep 17 00:00:00 2001 From: Jeffrey Altman Date: Thu, 6 Dec 2012 23:20:57 -0500 Subject: [PATCH] Windows: Periodic Worker CleanupFcb to Flush Dirty Extents The AFSPrimaryVolumeWorkerThread must not check the ObjectInformationCB reference count when determining whether or not to call AFSCleanupFcb(). One of the tasks of AFSCleanupFcb() is to flush dirty extents to the service. Change-Id: Id1821ec16393952d27520e73e290e520966b1d75 Reviewed-on: http://gerrit.openafs.org/8716 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman --- src/WINNT/afsrdr/kernel/lib/AFSWorker.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/WINNT/afsrdr/kernel/lib/AFSWorker.cpp b/src/WINNT/afsrdr/kernel/lib/AFSWorker.cpp index 559fc6c7c..bd90b46b9 100644 --- a/src/WINNT/afsrdr/kernel/lib/AFSWorker.cpp +++ b/src/WINNT/afsrdr/kernel/lib/AFSWorker.cpp @@ -1561,12 +1561,11 @@ AFSPrimaryVolumeWorkerThread( IN PVOID Context) else if( pCurrentObject->FileType == AFS_FILE_TYPE_FILE) { - AFSReleaseResource( pVolumeCB->ObjectInfoTree.TreeLock); - lCount = AFSObjectInfoIncrement( pCurrentObject); - if( lCount == 0 && - pCurrentObject->Fcb != NULL) + AFSReleaseResource( pVolumeCB->ObjectInfoTree.TreeLock); + + if( pCurrentObject->Fcb != NULL) { // -- 2.39.5