]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
LINUX: Avoid unnecessary afs_ShakeLooseVCaches
authorAndrew Deason <adeason@sinenomine.net>
Tue, 21 Dec 2010 15:31:39 +0000 (10:31 -0500)
committerDerrick Brashear <shadow@dementia.org>
Wed, 22 Dec 2010 17:23:01 +0000 (09:23 -0800)
Before some of the NewVCache refactoring, we only called
afs_ShakeLooseVCaches when afs_vcount was over (or equal to)
afs_maxvcount. Do this again, so we only try to shake loose vcaches
when we need more vcaches. Otherwise, we will call
afs_ShakeLooseVCaches every single time we want a new vcache when
dynamic vcaches are disabled (such as 2.4 Linux), and we log a warning
when we can't free any (which is likely when there are only 1 or 2
vcaches in use).

FIXES 128756

Reviewed-on: http://gerrit.openafs.org/3569
Tested-by: Andrew Deason <adeason@sinenomine.net>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
(cherry picked from commit fa4b1f3aeb33c28b2d8e2724542d1696fcc87773)

Change-Id: I9a108b38fa30e1a45f07c5d5d7d680d2b7d0257f
Reviewed-on: http://gerrit.openafs.org/3578
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
src/afs/afs_vcache.c

index 20711d07397580ef47e58b537d3677c83713b42c..20ff3f5b0f668e569c33f6512a9ed024a7ce9706 100644 (file)
@@ -797,7 +797,7 @@ afs_NewVCache_int(struct VenusFid *afid, struct server *serverp, int seq)
     afs_FlushReclaimedVcaches();
 
 #if defined(AFS_LINUX22_ENV)
-    if(!afsd_dynamic_vcaches) {
+    if(!afsd_dynamic_vcaches && afs_vcount >= afs_maxvcount) {
        afs_ShakeLooseVCaches(anumber);
        if (afs_vcount >= afs_maxvcount) {
            afs_warn("afs_NewVCache - none freed\n");