Windows: consoldiate NextExtent() implementations

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>
This commit is contained in:
Jeffrey Altman 2012-05-26 18:04:25 -04:00 committed by Jeffrey Altman
parent e94b233869
commit c5f32b3159
3 changed files with 11 additions and 17 deletions

View 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 );
}

View 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))

View 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);