]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
libafs: update the volume setup time when the vldb is rechecked
authorMichael Meffie <mmeffie@sinenomine.net>
Thu, 11 Jun 2015 15:25:51 +0000 (11:25 -0400)
committerBenjamin Kaduk <kaduk@mit.edu>
Sun, 11 Sep 2016 22:37:58 +0000 (18:37 -0400)
The vldb is rechecked when the fileserver returns certain error codes,
such as VMOVED.  When the vldb is rechecked, update the volume
setupTime to reflect the most recent time the volume vldb information
is known to be correct.

Be sure the VRecheck flag is cleared after checking the vldb, since
the volume write lock was dropped after finding the volume.

Change-Id: I0ba389ee408de602e0059fbe8013012501c337d3
Reviewed-on: https://gerrit.openafs.org/11897
Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
src/afs/afs_analyze.c

index c28d79405db3787d3c5e472d9db805ee85041e35..c0233ef99cb4b2af5f1e8cfc961c20611453bf2c 100644 (file)
@@ -197,6 +197,9 @@ VLDB_Same(struct VenusFid *afid, struct vrequest *areq)
            }
        }
 
+       tvp->states &= ~VRecheck;     /* Just checked it. */
+       tvp->setupTime = osi_Time();  /* Time the vldb was checked. */
+
        ReleaseWriteLock(&tvp->lock);
        afs_PutVolume(tvp, WRITE_LOCK);
     } else {                   /* can't find volume */