aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--monitor.c7
-rw-r--r--qemu-monitor.hx2
2 files changed, 6 insertions, 3 deletions
diff --git a/monitor.c b/monitor.c
index 598dbfe..0ae408a 100644
--- a/monitor.c
+++ b/monitor.c
@@ -1006,7 +1006,7 @@ static int do_eject(Monitor *mon, const QDict *qdict, QObject **ret_data)
return eject_device(mon, bs, force);
}
-static void do_block_set_passwd(Monitor *mon, const QDict *qdict,
+static int do_block_set_passwd(Monitor *mon, const QDict *qdict,
QObject **ret_data)
{
BlockDriverState *bs;
@@ -1014,12 +1014,15 @@ static void do_block_set_passwd(Monitor *mon, const QDict *qdict,
bs = bdrv_find(qdict_get_str(qdict, "device"));
if (!bs) {
qemu_error_new(QERR_DEVICE_NOT_FOUND, qdict_get_str(qdict, "device"));
- return;
+ return -1;
}
if (bdrv_set_key(bs, qdict_get_str(qdict, "password")) < 0) {
qemu_error_new(QERR_INVALID_PASSWORD);
+ return -1;
}
+
+ return 0;
}
static void do_change_block(Monitor *mon, const char *device,
diff --git a/qemu-monitor.hx b/qemu-monitor.hx
index 835fd05..d2be5c4 100644
--- a/qemu-monitor.hx
+++ b/qemu-monitor.hx
@@ -1117,7 +1117,7 @@ ETEXI
.params = "block_passwd device password",
.help = "set the password of encrypted block devices",
.user_print = monitor_user_noop,
- .mhandler.cmd_new = do_block_set_passwd,
+ .cmd_new_ret = do_block_set_passwd,
},
STEXI