From: Jeffrey Altman Date: Wed, 2 May 2012 22:02:28 +0000 (-0400) Subject: Windows: refactor AFSCleanupFcb X-Git-Tag: openafs-stable-1_8_0pre1~2451 X-Git-Url: https://git.openafs.org/?p=openafs.git;a=commitdiff_plain;h=ba8e60d70a74fc2c6899b29f330a5bfa59175912 Windows: refactor AFSCleanupFcb move the checks for deleted and invalid files earlier in the function to simplify other conditional tests. Change-Id: I973f411b65c0327227f07718ae764572d6f37c85 Reviewed-on: http://gerrit.openafs.org/7317 Reviewed-by: Chas Williams - CONTRACTOR Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman --- diff --git a/src/WINNT/afsrdr/kernel/lib/AFSGeneric.cpp b/src/WINNT/afsrdr/kernel/lib/AFSGeneric.cpp index e25dc98..abc2d20 100644 --- a/src/WINNT/afsrdr/kernel/lib/AFSGeneric.cpp +++ b/src/WINNT/afsrdr/kernel/lib/AFSGeneric.cpp @@ -7050,10 +7050,19 @@ AFSCleanupFcb( IN AFSFcb *Fcb, // First up are there dirty extents in the cache to flush? // - if( ForceFlush || - ( !BooleanFlagOn( Fcb->ObjectInformation->Flags, AFS_OBJECT_FLAGS_OBJECT_INVALID) && - !BooleanFlagOn( Fcb->ObjectInformation->Flags, AFS_OBJECT_FLAGS_DELETED) && - ( Fcb->Specific.File.ExtentsDirtyCount || + if( BooleanFlagOn( Fcb->ObjectInformation->Flags, AFS_OBJECT_FLAGS_OBJECT_INVALID) || + BooleanFlagOn( Fcb->ObjectInformation->Flags, AFS_OBJECT_FLAGS_DELETED)) + { + + // + // The file has been marked as invalid. Dump it + // + + AFSTearDownFcbExtents( Fcb, + NULL); + } + else if( ForceFlush || + ( ( Fcb->Specific.File.ExtentsDirtyCount || Fcb->Specific.File.ExtentCount) && (liTime.QuadPart - Fcb->Specific.File.LastServerFlush.QuadPart) >= pControlDeviceExt->Specific.Control.FcbFlushTimeCount.QuadPart)) @@ -7067,17 +7076,6 @@ AFSCleanupFcb( IN AFSFcb *Fcb, NULL); } } - else if( BooleanFlagOn( Fcb->ObjectInformation->Flags, AFS_OBJECT_FLAGS_OBJECT_INVALID) || - BooleanFlagOn( Fcb->ObjectInformation->Flags, AFS_OBJECT_FLAGS_DELETED)) - { - - // - // The file has been marked as invalid. Dump it - // - - AFSTearDownFcbExtents( Fcb, - NULL); - } // // If there are extents and they haven't been used recently *and*