aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel P. Berrange <berrange@redhat.com>2016-02-10 18:41:10 +0000
committerPaolo Bonzini <pbonzini@redhat.com>2016-02-16 17:16:20 +0100
commit69b49502d8b7b582af79fac5bef7b7ccc2dc9c1e (patch)
tree0ac79d0ed86626639bf6dc38d1efb687d8865341
parent9344e5f554690d5e379b5426daebadef7c87baf5 (diff)
nbd: use "" as a default export name if none provided
If the user does not provide an export name and the server is running the new style protocol, where export names are mandatory, use "" as the default export name if the user has not specified any. "" is defined in the NBD protocol as the default name to use in such scenarios. Signed-off-by: Daniel P. Berrange <berrange@redhat.com> Message-Id: <1455129674-17255-13-git-send-email-berrange@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-rw-r--r--nbd/client.c4
-rw-r--r--nbd/server.c1
2 files changed, 3 insertions, 2 deletions
diff --git a/nbd/client.c b/nbd/client.c
index be5f08da46..5e47ac7792 100644
--- a/nbd/client.c
+++ b/nbd/client.c
@@ -315,8 +315,8 @@ int nbd_receive_negotiate(QIOChannel *ioc, const char *name, uint32_t *flags,
goto fail;
}
if (!name) {
- error_setg(errp, "Server requires an export name");
- goto fail;
+ TRACE("Using default NBD export name \"\"");
+ name = "";
}
if (fixedNewStyle) {
/* Check our desired export is present in the
diff --git a/nbd/server.c b/nbd/server.c
index 3d2fb1055f..9fee1d4fa4 100644
--- a/nbd/server.c
+++ b/nbd/server.c
@@ -220,6 +220,7 @@ static int nbd_negotiate_send_rep_list(QIOChannel *ioc, NBDExport *exp)
uint64_t magic, name_len;
uint32_t opt, type, len;
+ TRACE("Advertizing export name '%s'", exp->name ? exp->name : "");
name_len = strlen(exp->name);
magic = cpu_to_be64(NBD_REP_MAGIC);
if (nbd_negotiate_write(ioc, &magic, sizeof(magic)) != sizeof(magic)) {