From 488c7c97854a4bd0ec67bcfe17df93b3fd025f88 Mon Sep 17 00:00:00 2001 From: Derrick Brashear Date: Wed, 12 Oct 2011 14:34:55 -0400 Subject: [PATCH] afs: don't try GetDownD if nothing to get if we "need" negative slots or caches, don't run. also, don't stay "too full" Change-Id: I29ef8d5fd9844a878d0c804d06aed5862a2d0df4 Reviewed-on: http://gerrit.openafs.org/5612 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear --- src/afs/afs_dcache.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/afs/afs_dcache.c b/src/afs/afs_dcache.c index da56b7c48..3c2d96df1 100644 --- a/src/afs/afs_dcache.c +++ b/src/afs/afs_dcache.c @@ -422,10 +422,16 @@ afs_CacheTruncateDaemon(void) for (counter = 0; counter < 10; counter++) { space_needed = afs_blocksUsed - afs_blocksDiscarded - cb_lowat; + if (space_needed < 0) + space_needed = 0; slots_needed = dc_hiwat - afs_freeDCCount - afs_discardDCCount; - afs_GetDownD(slots_needed, &space_needed, 0); + if (slots_needed < 0) + slots_needed = 0; + if (slots_needed || space_needed) + afs_GetDownD(slots_needed, &space_needed, 0); if ((space_needed <= 0) && (slots_needed <= 0)) { + afs_CacheTooFull = 0; break; } if (afs_termState == AFSOP_STOP_TRUNCDAEMON) -- 2.39.5