]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
afs: Consolidate ShakeLooseVCaches retry init
authorAndrew Deason <adeason@sinenomine.net>
Fri, 28 Dec 2012 21:36:42 +0000 (16:36 -0500)
committerStephan Wiesand <stephan.wiesand@desy.de>
Thu, 10 Jan 2013 16:01:25 +0000 (08:01 -0800)
Don't duplicate the initialization code in effectively three separate
places. Just goto the top of the loop again.

This should incur no functional change; it's just reorganization.

Reviewed-on: http://gerrit.openafs.org/8848
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
(cherry picked from commit 36959b50e513d4e9d4d2be93965eec2537943de5)

Change-Id: If1277fd4f1cc4adb03695688bcc54ae65715f1a8
Reviewed-on: http://gerrit.openafs.org/8866
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
Reviewed-by: Paul Smeddle <paul.smeddle@gmail.com>
Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
src/afs/afs_vcache.c

index 29f7a4c0c0f8eb09d59af08adb6902ef8cf7e4dc..c1f0d5bc22d95f92232a3378f359814298e215aa 100644 (file)
@@ -663,8 +663,10 @@ afs_ShakeLooseVCaches(afs_int32 anumber)
     int fv_slept, defersleep = 0;
     afs_int32 target = anumber;
 
-    i = 0;
     loop = 0;
+
+ retry:
+    i = 0;
     for (tq = VLRU.prev; tq != &VLRU && anumber > 0; tq = uq) {
        tvc = QTOV(tq);
        uq = QPrev(tq);
@@ -685,16 +687,12 @@ afs_ShakeLooseVCaches(afs_int32 anumber)
        if (fv_slept) {
            if (loop++ > 100)
                break;
-           uq = VLRU.prev;
-           i = 0;
-           continue;   /* start over - may have raced. */
+           goto retry; /* start over - may have raced. */
        }
        if (uq == &VLRU) {
            if (anumber && !defersleep) {
                defersleep = 1;
-               uq = VLRU.prev;
-               i = 0;
-               continue;
+               goto retry;
            }
            break;
        }