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>
Mon, 29 Oct 2012 18:23:22 +0000 (11:23 -0700)
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.

Change-Id: Ic467f41e96408281e6251a796d2dfba3245bb023
Reviewed-on: http://gerrit.openafs.org/8326
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

src/WINNT/afsd/cm_conn.c

index 969442b..e625db0 100644 (file)
@@ -771,6 +771,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);