From 30e26c07d42d8e8208c51719bc823e387d5919ee Mon Sep 17 00:00:00 2001 From: Jeffrey Altman Date: Mon, 2 Jul 2012 10:26:05 -0400 Subject: [PATCH] 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 --- src/WINNT/afsd/cm_server.c | 8 ++++++++ 1 file changed, 8 insertions(+) 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) -- 2.39.5