]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
Windows: correct CheckOfflineVolumeState logic
authorJeffrey Altman <jaltman@your-file-system.com>
Tue, 30 Aug 2011 13:49:11 +0000 (09:49 -0400)
committerJeffrey Altman <jaltman@openafs.org>
Tue, 30 Aug 2011 16:17:50 +0000 (09:17 -0700)
Do not blindly set the return 'online' state to TRUE if
the state has not in fact changed.

Do not blindly clear the 'alldown' flag without checking the
actual 'down' state of the file server.

Reviewed-on: http://gerrit.openafs.org/5323
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
(cherry picked from commit 8d4f65c3021b3416d290a1d5f1e8e61d14a936c7)

Change-Id: I96cd543480dd87f0998e36fd43deebd2142db1a0
Reviewed-on: http://gerrit.openafs.org/5324
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
src/WINNT/afsd/cm_volume.c

index 93aceea5b50cfd31df6bf7a19495c5c7f4585862..393468482e7b00554068adb221ae02ac02813440 100644 (file)
@@ -1226,8 +1226,9 @@ cm_CheckOfflineVolumeState(cm_volume_t *volp, cm_vol_state_t *statep, afs_uint32
                     continue;
 
                 alldeleted = 0;
-                *onlinep = 1;
-                alldown = 0;
+
+                if (!(serversp->server->flags & CM_SERVERFLAG_DOWN))
+                    alldown = 0;
 
                 if (serversp->status == srv_busy || serversp->status == srv_offline)
                     serversp->status = srv_not_busy;