From: Jeffrey Altman Date: Sun, 24 Feb 2008 15:33:52 +0000 (+0000) Subject: windows-scache-clean-bufs-20080224 X-Git-Tag: BP-openafs-windows-kdfs-ifs~79 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=f52c6e1bc020a0985d2bc168d06b2c87fe7a2797;p=packages%2Fo%2Fopenafs.git windows-scache-clean-bufs-20080224 LICENSE MIT In MergeStatus, only remove clean buffers from the hash table. --- diff --git a/src/WINNT/afsd/cm_scache.c b/src/WINNT/afsd/cm_scache.c index 9aa04751b..564f5cb6b 100644 --- a/src/WINNT/afsd/cm_scache.c +++ b/src/WINNT/afsd/cm_scache.c @@ -1686,7 +1686,8 @@ void cm_MergeStatus(cm_scache_t *dscp, */ if (cm_FidCmp(&scp->fid, &bp->fid) == 0 && lock_TryMutex(&bp->mx)) { - if (bp->refCount == 0) { + if (bp->refCount == 0 && + !(bp->flags & CM_BUF_READING | CM_BUF_WRITING | CM_BUF_DIRTY)) { prevBp = bp->fileHashBackp; bp->fileHashBackp = bp->fileHashp = NULL; if (prevBp)