]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
Windows: Periodic Worker CleanupFcb to Flush Dirty Extents
authorJeffrey Altman <jaltman@your-file-system.com>
Fri, 7 Dec 2012 04:20:57 +0000 (23:20 -0500)
committerJeffrey Altman <jaltman@your-file-system.com>
Fri, 7 Dec 2012 14:49:16 +0000 (06:49 -0800)
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 <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
src/WINNT/afsrdr/kernel/lib/AFSWorker.cpp

index 559fc6c7c3451abf58dd1e9fae7a6e66f5381df0..bd90b46b996545a4ce4d5203d9856a77939c3274 100644 (file)
@@ -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)
                         {
 
                             //