summaryrefslogtreecommitdiffstats
path: root/src/server/image.c
diff options
context:
space:
mode:
authorSimon Rettberg2017-11-02 13:41:35 +0100
committerSimon Rettberg2017-11-02 13:41:35 +0100
commit1587f73c38c9228a1a93889aae6351eff891cbe8 (patch)
tree4a43804793d1c5c3a1d0566c827e7cde8bac3c6b /src/server/image.c
parent[FUSE] Fix printf warning for logadd call (diff)
downloaddnbd3-1587f73c38c9228a1a93889aae6351eff891cbe8.tar.gz
dnbd3-1587f73c38c9228a1a93889aae6351eff891cbe8.tar.xz
dnbd3-1587f73c38c9228a1a93889aae6351eff891cbe8.zip
[SERVER] Support finer control over replication when a proxy connects to a proxy
Introduce new flag in "select image" message to tell the uplink server whether we have background replication enabled or not. Also reject a connecting proxy if the connecting proxy uses BGR but we don't, as this would basically force the image to be replicated locally too.
Diffstat (limited to 'src/server/image.c')
-rw-r--r--src/server/image.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/server/image.c b/src/server/image.c
index e356dbf..91d7572 100644
--- a/src/server/image.c
+++ b/src/server/image.c
@@ -1236,7 +1236,7 @@ static dnbd3_image_t *loadImageProxy(char * const name, const uint16_t revision,
bool ok = false;
int sock = sock_connect( &servers[i], 750, _uplinkTimeout );
if ( sock == -1 ) continue;
- if ( !dnbd3_select_image( sock, name, revision, FLAGS8_SERVER ) ) goto server_fail;
+ if ( !dnbd3_select_image( sock, name, revision, SI_SERVER_FLAGS ) ) goto server_fail;
if ( !dnbd3_select_image_reply( &serialized, sock, &remoteProtocolVersion, &remoteName, &remoteRid, &remoteImageSize ) ) goto server_fail;
if ( remoteProtocolVersion < MIN_SUPPORTED_SERVER || remoteRid == 0 ) goto server_fail;
if ( revision != 0 && remoteRid != revision ) goto server_fail; // Want specific revision but uplink supplied different rid