]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
afs: Handle VNOSERVICE as a timeout
authorAndrew Deason <adeason@sinenomine.net>
Wed, 14 Nov 2012 00:27:11 +0000 (18:27 -0600)
committerPaul Smeddle <paul.smeddle@gmail.com>
Wed, 5 Dec 2012 12:44:02 +0000 (04:44 -0800)
For whatever reason, the fileserver uses VNOSERVICE to indicate that
an Rx call was killed due to an idledead timeout. It is not used for
any volume errors, so treat it like the idle dead error codes.

Reviewed-on: http://gerrit.openafs.org/8462
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
(cherry picked from commit 22da9ec896f651f066317a85268620a7d3ac46fa)

Change-Id: I58fc7aaba65683f987387ff406bd575018b46d6b
Reviewed-on: http://gerrit.openafs.org/8550
Reviewed-by: Ken Dreyer <ktdreyer@ktdreyer.com>
Reviewed-by: Paul Smeddle <paul.smeddle@gmail.com>
Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
src/afs/afs_analyze.c

index a5281d7574692c91a3521cfdcc988f7bf8a53309..f5844f9be5583d048fa340986ec17fc466332d4d 100644 (file)
@@ -635,7 +635,7 @@ afs_Analyze(struct afs_conn *aconn, struct rx_connection *rxconn,
        shouldRetry = 1;
        goto out;
     }
-    if (acode == RX_CALL_TIMEOUT || acode == RX_CALL_IDLE) {
+    if (acode == RX_CALL_TIMEOUT || acode == RX_CALL_IDLE || acode == VNOSERVICE) {
        serversleft = afs_BlackListOnce(areq, afid, tsp);
        if (afid)
            tvp = afs_FindVolume(afid, READ_LOCK);
@@ -798,7 +798,7 @@ afs_Analyze(struct afs_conn *aconn, struct rx_connection *rxconn,
     }
     /* Check for bad volume data base / missing volume. */
     else if (acode == VSALVAGE || acode == VOFFLINE || acode == VNOVOL
-            || acode == VNOSERVICE || acode == VMOVED) {
+            || acode == VMOVED) {
        struct cell *tcell;
        int same;