]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
Unix CM: reset blacklist on hard-mount retry
authorMichael Meffie <mmeffie@sinenomine.net>
Wed, 14 Dec 2011 17:52:51 +0000 (12:52 -0500)
committerDerrick Brashear <shadow@dementix.org>
Tue, 7 Feb 2012 14:38:28 +0000 (06:38 -0800)
Reset black-listed servers on a request when retrying due to a
hard-mount retry. When hard-mounts are in effect, a request may
retry indefinitely. If all the servers have been black-listed
due to a transient error, the request may never complete.

Reviewed-on: http://gerrit.openafs.org/6330
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>
(cherry picked from commit faa58c9f60a158481bdfee27e175a37c5fcd64aa)

Change-Id: I1ecc3fa78c064c46849dec47c77f2fc405f2ee7f
Reviewed-on: http://gerrit.openafs.org/6641
Reviewed-by: Derrick Brashear <shadow@dementix.org>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Tested-by: Derrick Brashear <shadow@dementix.org>
src/afs/afs_analyze.c

index 379d4258b7deb80320eb739f3c0260bf223e1ba7..b022d95c466c692ccc4a908e328c48fd99183435 100644 (file)
@@ -504,6 +504,8 @@ afs_Analyze(struct afs_conn *aconn, struct rx_connection *rxconn,
 
                        VSleep(hm_retry_int);
                        afs_CheckServers(1, cellp);
+                       /* clear the black listed servers on this request. */
+                       memset(areq->skipserver, 0, sizeof(areq->skipserver));
 
                        if (vp_vhm) {
                            tvp = afs_FindVolume(afid, READ_LOCK);