From 55653d5dd00665c80397ab3c397063a1e636afea Mon Sep 17 00:00:00 2001 From: Jeffrey Altman Date: Tue, 6 Feb 2007 16:46:09 +0000 Subject: [PATCH] windows-merge-status-20070206 when merging status for store data ops, use the fileHashTable to reduce the number of buffers we must examine --- src/WINNT/afsd/cm_scache.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/src/WINNT/afsd/cm_scache.c b/src/WINNT/afsd/cm_scache.c index ba49c4929..c643fc41b 100644 --- a/src/WINNT/afsd/cm_scache.c +++ b/src/WINNT/afsd/cm_scache.c @@ -1414,16 +1414,13 @@ void cm_MergeStatus(cm_scache_t *scp, AFSFetchStatus *statusp, AFSVolSync *volp, if ((flags & CM_MERGEFLAG_STOREDATA) && statusp->DataVersion - scp->dataVersion == 1) { - afs_uint32 i; cm_buf_t *bp; - for (i = 0; i < cm_data.buf_hashSize; i++) + for (bp = cm_data.buf_fileHashTablepp[BUF_FILEHASH(&scp->fid)]; bp; bp=bp->fileHashp) { - for(bp = cm_data.buf_hashTablepp[i]; bp; bp=bp->hashp) { - if (cm_FidCmp(&scp->fid, &bp->fid) == 0 && - bp->dataVersion == scp->dataVersion) - bp->dataVersion = statusp->DataVersion; - } + if (cm_FidCmp(&scp->fid, &bp->fid) == 0 && + bp->dataVersion == scp->dataVersion) + bp->dataVersion = statusp->DataVersion; } } -- 2.39.5