From: Jeffrey Altman Date: Mon, 2 Jul 2012 14:26:05 +0000 (-0400) Subject: Windows: Recompute server rank periodically X-Git-Tag: upstream/1.8.0_pre1^2~2186 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=30e26c07d42d8e8208c51719bc823e387d5919ee;p=packages%2Fo%2Fopenafs.git Windows: Recompute server rank periodically After VL_ProbeServer and RXAFS_Getcapabilities RPCs call cm_RankServer() to recompute the server ranks based upon the updated peer statistics. Change-Id: I84687e12f1c1bd323a95c5ffcc73b95d400bd1f5 Reviewed-on: http://gerrit.openafs.org/7827 Tested-by: BuildBot Reviewed-by: Derrick Brashear --- diff --git a/src/WINNT/afsd/cm_server.c b/src/WINNT/afsd/cm_server.c index c66f14a6b..a44fc927f 100644 --- a/src/WINNT/afsd/cm_server.c +++ b/src/WINNT/afsd/cm_server.c @@ -302,6 +302,7 @@ cm_PingServer(cm_server_t *tsp) } } } + cm_RankServer(tsp); } } else { /* mark server as down */ @@ -341,6 +342,7 @@ cm_PingServer(cm_server_t *tsp) } } } + cm_RankServer(tsp); } } @@ -587,6 +589,7 @@ static void cm_CheckServersMulti(afs_uint32 flags, cm_cell_t *cellp) } } } + cm_RankServer(tsp); } } else { /* mark server as down */ @@ -627,6 +630,7 @@ static void cm_CheckServersMulti(afs_uint32 flags, cm_cell_t *cellp) } } } + cm_RankServer(tsp); } } @@ -720,6 +724,8 @@ static void cm_CheckServersMulti(afs_uint32 flags, cm_cell_t *cellp) osi_LogSaveString(afsd_logp, hoststr), tsp->type == CM_SERVER_VLDB ? "vldb" : "file", tsp->capabilities); + if (wasDown) + cm_RankServer(tsp); } else { /* mark server as down */ if (!(tsp->flags & CM_SERVERFLAG_DOWN)) { @@ -736,6 +742,8 @@ static void cm_CheckServersMulti(afs_uint32 flags, cm_cell_t *cellp) osi_LogSaveString(afsd_logp, hoststr), tsp->type == CM_SERVER_VLDB ? "vldb" : "file", tsp->capabilities); + if (!wasDown) + cm_RankServer(tsp); } if (tsp->waitCount == 0)