From f52c6e1bc020a0985d2bc168d06b2c87fe7a2797 Mon Sep 17 00:00:00 2001 From: Jeffrey Altman Date: Sun, 24 Feb 2008 15:33:52 +0000 Subject: [PATCH] windows-scache-clean-bufs-20080224 LICENSE MIT In MergeStatus, only remove clean buffers from the hash table. --- src/WINNT/afsd/cm_scache.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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) -- 2.39.5