Windows: consoldiate NextExtent() implementations
authorJeffrey Altman <jaltman@your-file-system.com>
Sat, 26 May 2012 22:04:25 +0000 (18:04 -0400)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Wed, 6 Jun 2012 14:46:37 +0000 (07:46 -0700)
Both AFSExtentsSupport.cpp and AFSIoSupport.cpp provided
NextExtent() implementations.  The AFSExtentsSupport version was
more general.  Use that one for both modules.

Change-Id: I19d17c989b4eadd40dcbb3d6d4186c316c26577e
Reviewed-on: http://gerrit.openafs.org/7517
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

src/WINNT/afsrdr/kernel/lib/AFSExtentsSupport.cpp
src/WINNT/afsrdr/kernel/lib/AFSIoSupport.cpp
src/WINNT/afsrdr/kernel/lib/Include/AFSCommon.h

index 705ae6c..37252eb 100644 (file)
@@ -39,7 +39,6 @@
 
 #define AFS_MAX_FCBS_TO_DROP 10
 
-static AFSExtent *NextExtent( AFSExtent *Extent, ULONG SkipList );
 static ULONG ExtentsMasks[AFS_NUM_EXTENT_LISTS] = AFS_EXTENTS_MASKS;
 static VOID VerifyExtentsLists(AFSFcb *Fcb);
 static AFSExtent *DirtyExtentFor(PLIST_ENTRY le);
@@ -3637,16 +3636,20 @@ AFSMarkDirty( IN AFSFcb *Fcb,
 AFSExtent *
 ExtentFor(PLIST_ENTRY le, ULONG SkipList)
 {
+
     return CONTAINING_RECORD( le, AFSExtent, Lists[SkipList] );
 }
 
-static AFSExtent *NextExtent(AFSExtent *Extent, ULONG SkipList)
+AFSExtent *
+NextExtent(AFSExtent *Extent, ULONG SkipList)
 {
+
     return ExtentFor(Extent->Lists[SkipList].Flink, SkipList);
 }
 
 static AFSExtent *DirtyExtentFor(PLIST_ENTRY le)
 {
+
     return CONTAINING_RECORD( le, AFSExtent, DirtyList );
 }
 
index fb23f0c..19949d6 100644 (file)
@@ -38,8 +38,6 @@
 
 #include "AFSCommon.h"
 
-static AFSExtent *NextExtent(AFSExtent *Extent);
-
 //
 // Called in the paging or non cached read and write paths to get the
 // first and last extent in a span.  We also the count of how many
@@ -73,7 +71,7 @@ AFSGetExtents( IN AFSFcb *Fcb,
         while ((Offset->QuadPart + Length) >
                pEndExtent->FileOffset.QuadPart + pEndExtent->Size) {
 
-            pEndExtent = NextExtent(pEndExtent);
+            pEndExtent = NextExtent(pEndExtent, AFS_EXTENTS_LIST);
 
             if (liLastCacheOffset.QuadPart != pEndExtent->CacheOffset.QuadPart) {
                 //
@@ -143,7 +141,7 @@ AFSSetupIoRun( IN PDEVICE_OBJECT CacheDevice,
                 //
                 // Collapse the read if we can
                 //
-                pNextExtent = NextExtent( pExtent );
+                pNextExtent = NextExtent( pExtent, AFS_EXTENTS_LIST);
 
                 if (pNextExtent->CacheOffset.QuadPart !=
                     (pExtent->CacheOffset.QuadPart + pExtent->Size))
@@ -389,16 +387,6 @@ AFSCompleteIo( IN AFSGatherIo *Gather,
     }
 }
 
-static AFSExtent *ExtentFor(PLIST_ENTRY le)
-{
-    return CONTAINING_RECORD( le, AFSExtent, Lists[AFS_EXTENTS_LIST] );
-}
-
-static AFSExtent *NextExtent(AFSExtent *Extent)
-{
-    return ExtentFor(Extent->Lists[AFS_EXTENTS_LIST].Flink);
-}
-
 NTSTATUS
 AFSProcessExtentRun( IN PVOID          SystemBuffer,
                      IN PLARGE_INTEGER Start,
@@ -440,7 +428,7 @@ AFSProcessExtentRun( IN PVOID          SystemBuffer,
                 //
                 // Collapse the read if we can
                 //
-                pNextExtent = NextExtent( pExtent );
+                pNextExtent = NextExtent( pExtent, AFS_EXTENTS_LIST);
 
                 if (pNextExtent->CacheOffset.QuadPart !=
                     (pExtent->CacheOffset.QuadPart + pExtent->Size))
index 5bba777..0b66669 100644 (file)
@@ -436,6 +436,9 @@ AFSRemoveEntryDirtyList( IN AFSFcb *Fcb,
 AFSExtent *
 ExtentFor( PLIST_ENTRY le, ULONG SkipList );
 
+AFSExtent *
+NextExtent( AFSExtent *Extent, ULONG SkipList );
+
 ULONG
 AFSConstructCleanByteRangeList( AFSFcb * pFcb,
                                 AFSByteRange ** pByteRangeList);