summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohann Latocha2012-05-11 02:52:31 +0200
committerJohann Latocha2012-05-11 02:52:31 +0200
commit4940d5ac4beee59b5d4500b2f401749cca2f52ab (patch)
treed999225fbd24cd61204d0772ce26b088db86183a
parent[KERNEL] Set proper exit status on connection (diff)
downloaddnbd3-4940d5ac4beee59b5d4500b2f401749cca2f52ab.tar.gz
dnbd3-4940d5ac4beee59b5d4500b2f401749cca2f52ab.tar.xz
dnbd3-4940d5ac4beee59b5d4500b2f401749cca2f52ab.zip
[KERNEL] RTT bug fixed
-rw-r--r--src/kernel/net.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/kernel/net.c b/src/kernel/net.c
index 0bfca6f..e6d9b73 100644
--- a/src/kernel/net.c
+++ b/src/kernel/net.c
@@ -320,7 +320,7 @@ int dnbd3_net_discover(void *data)
- if ( best_rtt > dev->alt_servers[i].rtt + RTT_THRESHOLD)
+ if ( best_rtt > dev->alt_servers[i].rtt)
{
best_rtt = dev->alt_servers[i].rtt;
strcpy(best_server, current_server);
@@ -340,7 +340,7 @@ int dnbd3_net_discover(void *data)
continue;
// take server with lowest rtt
- if (ready && num > 1 && strcmp(dev->cur_server.host, best_server) && !kthread_should_stop())
+ if (ready && num > 1 && strcmp(dev->cur_server.host, best_server) && !kthread_should_stop() && dev->cur_server.rtt > best_rtt + RTT_THRESHOLD)
{
printk("INFO: Server %s on %s is faster (%lluus)\n", best_server, dev->disk->disk_name, best_rtt);
kfree(buf);