From 045881397f745a12efc159fd0b2fe590228016c3 Mon Sep 17 00:00:00 2001 From: Wouter Verhelst Date: Mon, 19 Dec 2016 23:41:52 +0100 Subject: [PATCH] Add the NBD_FLAG_CAN_MULTI_CONN flag, unless copyonwrite was selected Signed-off-by: Wouter Verhelst --- nbd-server.c | 2 ++ nbd.h | 1 + 2 files changed, 3 insertions(+) diff --git a/nbd-server.c b/nbd-server.c index 09ac52f..cbe7e57 100644 --- a/nbd-server.c +++ b/nbd-server.c @@ -1791,6 +1791,8 @@ void send_export_info(CLIENT* client) { flags |= NBD_FLAG_ROTATIONAL; if (client->server->flags & F_TRIM) flags |= NBD_FLAG_SEND_TRIM; + if (!(client->server->flags & F_COPYONWRITE)) + flags |= NBD_FLAG_CAN_MULTI_CONN; flags = htons(flags); socket_write(client, &flags, sizeof(flags)); if (!(glob_flags & F_NO_ZEROES)) { diff --git a/nbd.h b/nbd.h index 1557306..6326b6e 100644 --- a/nbd.h +++ b/nbd.h @@ -51,6 +51,7 @@ enum { #define NBD_FLAG_ROTATIONAL (1 << 4) /* Use elevator algorithm - rotational media */ #define NBD_FLAG_SEND_TRIM (1 << 5) /* Send TRIM (discard) */ #define NBD_FLAG_SEND_WRITE_ZEROES (1 << 6) /* Send NBD_CMD_WRITE_ZEROES */ +#define NBD_FLAG_CAN_MULTI_CONN (1 << 8) /* multiple connections are okay */ #define nbd_cmd(req) ((req)->cmd[0]) -- 2.11.4.GIT