mirror of https://github.com/xemu-project/xemu.git
Wrong error message in block_passwd command
Signed-off-by: Shahar Havivi <shaharh@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
parent
25b28f01d8
commit
fd04a2aeda
7
block.c
7
block.c
|
@ -1134,8 +1134,11 @@ int bdrv_set_key(BlockDriverState *bs, const char *key)
|
||||||
if (!bs->encrypted)
|
if (!bs->encrypted)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
if (!bs->encrypted || !bs->drv || !bs->drv->bdrv_set_key)
|
if (!bs->encrypted) {
|
||||||
return -1;
|
return -EINVAL;
|
||||||
|
} else if (!bs->drv || !bs->drv->bdrv_set_key) {
|
||||||
|
return -ENOMEDIUM;
|
||||||
|
}
|
||||||
ret = bs->drv->bdrv_set_key(bs, key);
|
ret = bs->drv->bdrv_set_key(bs, key);
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
bs->valid_key = 0;
|
bs->valid_key = 0;
|
||||||
|
|
|
@ -1057,6 +1057,7 @@ static int do_block_set_passwd(Monitor *mon, const QDict *qdict,
|
||||||
QObject **ret_data)
|
QObject **ret_data)
|
||||||
{
|
{
|
||||||
BlockDriverState *bs;
|
BlockDriverState *bs;
|
||||||
|
int err;
|
||||||
|
|
||||||
bs = bdrv_find(qdict_get_str(qdict, "device"));
|
bs = bdrv_find(qdict_get_str(qdict, "device"));
|
||||||
if (!bs) {
|
if (!bs) {
|
||||||
|
@ -1064,7 +1065,11 @@ static int do_block_set_passwd(Monitor *mon, const QDict *qdict,
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (bdrv_set_key(bs, qdict_get_str(qdict, "password")) < 0) {
|
err = bdrv_set_key(bs, qdict_get_str(qdict, "password"));
|
||||||
|
if (err == -EINVAL) {
|
||||||
|
qerror_report(QERR_DEVICE_NOT_ENCRYPTED, bdrv_get_device_name(bs));
|
||||||
|
return -1;
|
||||||
|
} else if (err < 0) {
|
||||||
qerror_report(QERR_INVALID_PASSWORD);
|
qerror_report(QERR_INVALID_PASSWORD);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue