afs: Avoid unnecessary panic in ShakeLooseVCaches
[openafs.git] / src / afs / afs_vcache.c
index 21c49f8..c79309b 100644 (file)
@@ -707,18 +707,20 @@ afs_ShakeLooseVCaches(afs_int32 anumber)
     struct vcache *tvc;
     struct afs_q *tq, *uq;
     int fv_slept, defersleep = 0;
+    int limit;
     afs_int32 target = anumber;
 
     loop = 0;
 
  retry:
     i = 0;
+    limit = afs_vcount;
     for (tq = VLRU.prev; tq != &VLRU && anumber > 0; tq = uq) {
        tvc = QTOV(tq);
        uq = QPrev(tq);
        if (tvc->f.states & CVFlushed) {
            refpanic("CVFlushed on VLRU");
-       } else if (i++ > afs_vcount) {
+       } else if (i++ > limit) {
            refpanic("Found too many AFS vnodes on VLRU (VLRU cycle?)");
        } else if (QNext(uq) != tq) {
            refpanic("VLRU inconsistent");