]> git.michaelhowe.org Git - packages/o/openafs.git/commit
DEVEL15-windows-vmoved-vnovol-failover-20090212
authorJeffrey Altman <jaltman@secure-endpoints.com>
Thu, 12 Feb 2009 21:30:16 +0000 (21:30 +0000)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Thu, 12 Feb 2009 21:30:16 +0000 (21:30 +0000)
commitcc092d7bfe2fe0674e7ba6eb438938374ff9114e
treed58b6484f017382fda507b9943cfa791f7865e52
parentd43ca5013570f55b0fcd43827978257f31fafc93
DEVEL15-windows-vmoved-vnovol-failover-20090212

LICENSE MIT
FIXES 124276

A readonly volume with multiple instances was being marked alldown
when one of the instances resulted in VNOVOL because the vldb and
the indicated file server were out of sync.  The cache manager would
then attempt to re-obtain the volume location info from the vldb
for the entire timeout period.

This patch:

adds trace logging to cm_Analyze indicating which server references
are being deleted and which remain in response to a VNOVOL/VMOVED error.

adds trace logging to cm_UpdateVolumeStatusInt showing how the
new volume status value is determined.

corrects cm_Analyze() so that it doesn't corrupt the server reference
list during cm_FreeServerList() calls; doesn't orphan the server reference
list by setting *serverpp to NULL; and only re-obtains the volume info
list once per request.

(cherry picked from commit 8bb35234aa8469ba93a2171fced503a875c2f1f6)
src/WINNT/afsd/cm_conn.c
src/WINNT/afsd/cm_conn.h
src/WINNT/afsd/cm_volume.c