summaryrefslogtreecommitdiffstats
path: root/src/server/uplink.c
diff options
context:
space:
mode:
authorSimon Rettberg2017-11-07 16:23:27 +0100
committerSimon Rettberg2017-11-07 16:23:27 +0100
commitfff57fa777254ef5108fff68f60452d57911bc7f (patch)
tree2de473b5729093f9717b54e96bfcab621ebf575d /src/server/uplink.c
parent[FUSE] Split final multiConnect-wait across multiple calls (diff)
downloaddnbd3-fff57fa777254ef5108fff68f60452d57911bc7f.tar.gz
dnbd3-fff57fa777254ef5108fff68f60452d57911bc7f.tar.xz
dnbd3-fff57fa777254ef5108fff68f60452d57911bc7f.zip
[SERVER] Use multiConnect() to find uplink for replication
Just as in the fuse client, this will speed things up if we have several alt-servers in our list which are not reachable.
Diffstat (limited to 'src/server/uplink.c')
-rw-r--r--src/server/uplink.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/server/uplink.c b/src/server/uplink.c
index 771d18b..de53657 100644
--- a/src/server/uplink.c
+++ b/src/server/uplink.c
@@ -193,7 +193,7 @@ bool uplink_request(dnbd3_client_t *client, uint64_t handle, uint64_t start, uin
}
if ( uplink->queue[i].status != ULR_PENDING && uplink->queue[i].status != ULR_NEW ) continue;
if ( uplink->queue[i].from <= start && uplink->queue[i].to >= end ) {
- if ( hops > uplink->queue[i].hopCount ) {
+ if ( hops > uplink->queue[i].hopCount && uplink->queue[i].from == start && uplink->queue[i].to == end ) {
requestLoop = true;
break;
}