]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
afs: don't try GetDownD if nothing to get
authorDerrick Brashear <shadow@dementix.org>
Wed, 12 Oct 2011 18:34:55 +0000 (14:34 -0400)
committerDerrick Brashear <shadow@dementix.org>
Wed, 26 Oct 2011 22:51:10 +0000 (15:51 -0700)
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 <shadow@dementix.org>
Tested-by: Derrick Brashear <shadow@dementix.org>
(cherry picked from commit 488c7c97854a4bd0ec67bcfe17df93b3fd025f88)

Change-Id: I1bdd37ce5659ce770f0fbb23bcb9174858b5eeed
Reviewed-on: http://gerrit.openafs.org/5709
Reviewed-by: Derrick Brashear <shadow@dementix.org>
Tested-by: Derrick Brashear <shadow@dementix.org>
src/afs/afs_dcache.c

index 41b68073a7a111df0353e881177fdf5dcbaf40b1..b5773d0b0ec46caada2476cb9704a14931a6f645 100644 (file)
@@ -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)