From 85fb3f2d3fb16319668d634b6a15f3b07ba73aa5 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" Reviewed-on: http://gerrit.openafs.org/5612 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 488c7c97854a4bd0ec67bcfe17df93b3fd025f88) Change-Id: I1bdd37ce5659ce770f0fbb23bcb9174858b5eeed Reviewed-on: http://gerrit.openafs.org/5709 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 41b68073a..b5773d0b0 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