Keep track of the number of VIO errors reported by the file servers.
If the count exceeds 100, abandon the request.
Change-Id: I4d18ccca732802752c94c9ca1b36ca9a827c72de
Reviewed-on: http://gerrit.openafs.org/9923
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
reqp->vnovolError++;
}
+ /* Remember that the VIO error occurred */
+ if (errorCode == VIO) {
+ reqp->errorServp = serverp;
+ reqp->vioCount++;
+ }
+
/* Free the server list before cm_ForceUpdateVolume is called */
if (free_svr_list) {
cm_FreeServerList(volServerspp, 0);
free_svr_list = 0;
}
- if ( timeLeft > 2 )
+ if ( timeLeft > 2 && reqp->vioCount < 100)
retry = 1;
} else if ( errorCode == VNOVNODE ) {
if (connp)
int idleError;
int vnovolError;
int volbusyCount;
+ int vioCount;
afs_uint32 flags;
clientchar_t * tidPathp;
clientchar_t * relPathp;