diff options
author | Shahar Havivi <shaharh@redhat.com> | 2010-03-06 00:26:13 +0200 |
---|---|---|
committer | Anthony Liguori <aliguori@us.ibm.com> | 2010-03-17 10:41:38 -0500 |
commit | fd04a2aedae37dc9f481225f445d04bddd1590b0 (patch) | |
tree | f3e5b92e299050cf4c590c2fcbe992178ba31185 | |
parent | 25b28f01d840c56c1323f2bb941da061a8003176 (diff) |
Wrong error message in block_passwd command
Signed-off-by: Shahar Havivi <shaharh@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
-rw-r--r-- | block.c | 7 | ||||
-rw-r--r-- | monitor.c | 7 |
2 files changed, 11 insertions, 3 deletions
@@ -1134,8 +1134,11 @@ int bdrv_set_key(BlockDriverState *bs, const char *key) if (!bs->encrypted) return 0; } - if (!bs->encrypted || !bs->drv || !bs->drv->bdrv_set_key) - return -1; + if (!bs->encrypted) { + return -EINVAL; + } else if (!bs->drv || !bs->drv->bdrv_set_key) { + return -ENOMEDIUM; + } ret = bs->drv->bdrv_set_key(bs, key); if (ret < 0) { bs->valid_key = 0; @@ -1057,6 +1057,7 @@ static int do_block_set_passwd(Monitor *mon, const QDict *qdict, QObject **ret_data) { BlockDriverState *bs; + int err; bs = bdrv_find(qdict_get_str(qdict, "device")); if (!bs) { @@ -1064,7 +1065,11 @@ static int do_block_set_passwd(Monitor *mon, const QDict *qdict, 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); return -1; } |