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>
This commit is contained in:
Eric Blake 2018-01-09 13:28:02 -06:00
parent 902a1f94be
commit dba49323ea
2 changed files with 7 additions and 5 deletions

View file

@ -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
{

3
hmp.c
View file

@ -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);