aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Blake <eblake@redhat.com>2018-01-09 13:28:02 -0600
committerEric Blake <eblake@redhat.com>2018-01-26 09:37:20 -0600
commitdba49323ea83c8e661a279e8b69737fd18783a19 (patch)
tree89c2ea517a678c2b31ec1260283382da5ae71afb
parent902a1f94bee2f5c633bb623baf2160c0a6da097c (diff)
hmp: Add name parameter to nbd_server_add
Extend the flexibility of the previous QMP patch to also work in HMP. Signed-off-by: Eric Blake <eblake@redhat.com> Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Message-Id: <20180109192802.17167-1-eblake@redhat.com>
-rw-r--r--hmp-commands.hx9
-rw-r--r--hmp.c3
2 files changed, 7 insertions, 5 deletions
diff --git a/hmp-commands.hx b/hmp-commands.hx
index 6d5ebdf6ab..b8b6fb9184 100644
--- a/hmp-commands.hx
+++ b/hmp-commands.hx
@@ -1553,17 +1553,18 @@ ETEXI
{
.name = "nbd_server_add",
- .args_type = "writable:-w,device:B",
- .params = "nbd_server_add [-w] device",
+ .args_type = "writable:-w,device:B,name:s?",
+ .params = "nbd_server_add [-w] device [name]",
.help = "export a block device via NBD",
.cmd = hmp_nbd_server_add,
},
STEXI
-@item nbd_server_add @var{device}
+@item nbd_server_add @var{device} [ @var{name} ]
@findex nbd_server_add
Export a block device through QEMU's NBD server, which must be started
beforehand with @command{nbd_server_start}. The @option{-w} option makes the
-exported device writable too.
+exported device writable too. The export name is controlled by @var{name},
+defaulting to @var{device}.
ETEXI
{
diff --git a/hmp.c b/hmp.c
index 5bcfc36de1..7a64dd59c5 100644
--- a/hmp.c
+++ b/hmp.c
@@ -2221,10 +2221,11 @@ exit:
void hmp_nbd_server_add(Monitor *mon, const QDict *qdict)
{
const char *device = qdict_get_str(qdict, "device");
+ const char *name = qdict_get_try_str(qdict, "name");
bool writable = qdict_get_try_bool(qdict, "writable", false);
Error *local_err = NULL;
- qmp_nbd_server_add(device, false, NULL, true, writable, &local_err);
+ qmp_nbd_server_add(device, !!name, name, true, writable, &local_err);
if (local_err != NULL) {
hmp_handle_error(mon, &local_err);