libafs: update the volume setup time when the vldb is rechecked

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>
This commit is contained in:
Michael Meffie 2015-06-11 11:25:51 -04:00 committed by Benjamin Kaduk
parent ee08dbe37d
commit f0fa5a5327

View 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 */