]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
Windows: mark server reference offline for VOFFLINE
authorJeffrey Altman <jaltman@your-file-system.com>
Mon, 29 Oct 2012 14:33:18 +0000 (10:33 -0400)
committerJeffrey Altman <jaltman@your-file-system.com>
Sat, 8 Dec 2012 16:18:15 +0000 (08:18 -0800)
cm_Analyze() was not marking the cm_ServerRef_t reference to
a volume instance as srv_offline in response to a VOFFLINE error.
As a result the same volume instance is tried again and again.

Reviewed-on: http://gerrit.openafs.org/8326
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit e59cf940ce1cb2ed72ccf05ce39f73019547d9b1)

Change-Id: Iab79c0b2e0c885a0d9180c000f9cc9574fab11dc
Reviewed-on: http://gerrit.openafs.org/8644
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
src/WINNT/afsd/cm_conn.c

index a80b3c4e43285b740aa2406786955a45ae67f8f5..f7d013785142f96a2c976aee27c63da44d8206ec 100644 (file)
@@ -695,6 +695,11 @@ cm_Analyze(cm_conn_t *connp,
                         }
                     }
                     break;
+                case VOFFLINE:
+                    osi_Log2(afsd_logp, "VOFFLINE received for volume %u from server %s",
+                              fidp->volume, osi_LogSaveString(afsd_logp,addr));
+                    tsrp->status = srv_offline;
+                    break;
                 default:
                     osi_Log3(afsd_logp, "volume %u exists on server %s with status %u",
                              fidp->volume, osi_LogSaveString(afsd_logp,addr), tsrp->status);