summaryrefslogtreecommitdiffstats
path: root/src/server/altservers.c
diff options
context:
space:
mode:
authorSimon Rettberg2013-11-13 17:35:01 +0100
committerSimon Rettberg2013-11-13 17:35:01 +0100
commit31fbbfd05130caf2a236d117a08e727af2cb5ac4 (patch)
tree7ad87835f4e1a52c290da9c60f4e28802a9a5a7c /src/server/altservers.c
parent[SERVER] Don't lock on image array when saving cache maps (diff)
downloaddnbd3-31fbbfd05130caf2a236d117a08e727af2cb5ac4.tar.gz
dnbd3-31fbbfd05130caf2a236d117a08e727af2cb5ac4.tar.xz
dnbd3-31fbbfd05130caf2a236d117a08e727af2cb5ac4.zip
[SERVER] Increase RTT check delay for uplinks that failed too many times to save network bandwidth
Diffstat (limited to 'src/server/altservers.c')
-rw-r--r--src/server/altservers.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/server/altservers.c b/src/server/altservers.c
index 5317936..d89e73a 100644
--- a/src/server/altservers.c
+++ b/src/server/altservers.c
@@ -346,7 +346,7 @@ static void *altservers_main(void *data)
dnbd3_host_t servers[ALTS + 1];
serialized_buffer_t serialized;
struct timespec start, end;
- time_t nextCacheMapSave = time( NULL ) + 120;
+ time_t nextCacheMapSave = time( NULL ) + 90;
setThreadName( "altserver-check" );
blockNoncriticalSignals();
@@ -513,6 +513,9 @@ static void *altservers_main(void *data)
uplink->betterFd = bestSock;
uplink->betterServer = servers[bestIndex];
uplink->rttTestResult = RTT_DOCHANGE;
+ } else if (bestSock == -1) {
+ // No server was reachable
+ uplink->rttTestResult = RTT_NOT_REACHABLE;
} else {
// nope
if ( bestSock != -1 ) close( bestSock );