* [Qemu-devel] [PATCH 1/2] QError: New QERR_DEVICE_NOT_ENCRYPTED
2010-03-05 22:24 [Qemu-devel] [PATCH 0/2] Fix block_passwd monitor command error Shahar Havivi
@ 2010-03-05 22:25 ` Shahar Havivi
2010-03-17 16:20 ` Anthony Liguori
2010-03-05 22:26 ` [Qemu-devel] [PATCH 2/2] Wrong error message in block_passwd command Shahar Havivi
` (2 subsequent siblings)
3 siblings, 1 reply; 6+ messages in thread
From: Shahar Havivi @ 2010-03-05 22:25 UTC (permalink / raw)
To: qemu-devel; +Cc: Dor Laor
Signed-off-by: Shahar Havivi <shaharh@redhat.com>
---
qerror.c | 4 ++++
qerror.h | 3 +++
2 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/qerror.c b/qerror.c
index 2f657f4..4e63a54 100644
--- a/qerror.c
+++ b/qerror.c
@@ -49,6 +49,10 @@ static const QErrorStringTable qerror_table[] = {
.desc = "The %(device) is encrypted",
},
{
+ .error_fmt = QERR_DEVICE_NOT_ENCRYPTED,
+ .desc = "Device '%(device)' is not encrypted",
+ },
+ {
.error_fmt = QERR_DEVICE_LOCKED,
.desc = "Device %(device) is locked",
},
diff --git a/qerror.h b/qerror.h
index ee59615..b93fff6 100644
--- a/qerror.h
+++ b/qerror.h
@@ -46,6 +46,9 @@ QError *qobject_to_qerror(const QObject *obj);
#define QERR_DEVICE_ENCRYPTED \
"{ 'class': 'DeviceEncrypted', 'data': { 'device': %s } }"
+#define QERR_DEVICE_NOT_ENCRYPTED \
+ "{ 'class': 'DeviceNotEncrypted', 'data': { 'device': %s } }"
+
#define QERR_DEVICE_LOCKED \
"{ 'class': 'DeviceLocked', 'data': { 'device': %s } }"
--
1.6.3.3
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [Qemu-devel] [PATCH 1/2] QError: New QERR_DEVICE_NOT_ENCRYPTED
2010-03-05 22:25 ` [Qemu-devel] [PATCH 1/2] QError: New QERR_DEVICE_NOT_ENCRYPTED Shahar Havivi
@ 2010-03-17 16:20 ` Anthony Liguori
0 siblings, 0 replies; 6+ messages in thread
From: Anthony Liguori @ 2010-03-17 16:20 UTC (permalink / raw)
To: Shahar Havivi; +Cc: Dor Laor, qemu-devel
On 03/05/2010 04:25 PM, Shahar Havivi wrote:
> Signed-off-by: Shahar Havivi<shaharh@redhat.com>
>
Applied. Thanks.
Regards,
Anthony Liguori
> ---
> qerror.c | 4 ++++
> qerror.h | 3 +++
> 2 files changed, 7 insertions(+), 0 deletions(-)
>
> diff --git a/qerror.c b/qerror.c
> index 2f657f4..4e63a54 100644
> --- a/qerror.c
> +++ b/qerror.c
> @@ -49,6 +49,10 @@ static const QErrorStringTable qerror_table[] = {
> .desc = "The %(device) is encrypted",
> },
> {
> + .error_fmt = QERR_DEVICE_NOT_ENCRYPTED,
> + .desc = "Device '%(device)' is not encrypted",
> + },
> + {
> .error_fmt = QERR_DEVICE_LOCKED,
> .desc = "Device %(device) is locked",
> },
> diff --git a/qerror.h b/qerror.h
> index ee59615..b93fff6 100644
> --- a/qerror.h
> +++ b/qerror.h
> @@ -46,6 +46,9 @@ QError *qobject_to_qerror(const QObject *obj);
> #define QERR_DEVICE_ENCRYPTED \
> "{ 'class': 'DeviceEncrypted', 'data': { 'device': %s } }"
>
> +#define QERR_DEVICE_NOT_ENCRYPTED \
> + "{ 'class': 'DeviceNotEncrypted', 'data': { 'device': %s } }"
> +
> #define QERR_DEVICE_LOCKED \
> "{ 'class': 'DeviceLocked', 'data': { 'device': %s } }"
>
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Qemu-devel] [PATCH 2/2] Wrong error message in block_passwd command
2010-03-05 22:24 [Qemu-devel] [PATCH 0/2] Fix block_passwd monitor command error Shahar Havivi
2010-03-05 22:25 ` [Qemu-devel] [PATCH 1/2] QError: New QERR_DEVICE_NOT_ENCRYPTED Shahar Havivi
@ 2010-03-05 22:26 ` Shahar Havivi
2010-03-08 8:46 ` [Qemu-devel] [PATCH 0/2] Fix block_passwd monitor command error Kevin Wolf
2010-03-08 20:48 ` Luiz Capitulino
3 siblings, 0 replies; 6+ messages in thread
From: Shahar Havivi @ 2010-03-05 22:26 UTC (permalink / raw)
To: qemu-devel; +Cc: Dor Laor
Signed-off-by: Shahar Havivi <shaharh@redhat.com>
---
block.c | 7 +++++--
monitor.c | 7 ++++++-
2 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/block.c b/block.c
index 31d1ba4..e891544 100644
--- a/block.c
+++ b/block.c
@@ -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;
diff --git a/monitor.c b/monitor.c
index 19470d1..30dcbbe 100644
--- a/monitor.c
+++ b/monitor.c
@@ -1042,6 +1042,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) {
@@ -1049,7 +1050,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) {
+ qemu_error_new(QERR_DEVICE_NOT_ENCRYPTED, bdrv_get_device_name(bs));
+ return -1;
+ } else if (err < 0) {
qemu_error_new(QERR_INVALID_PASSWORD);
return -1;
}
--
1.6.3.3
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [Qemu-devel] [PATCH 0/2] Fix block_passwd monitor command error
2010-03-05 22:24 [Qemu-devel] [PATCH 0/2] Fix block_passwd monitor command error Shahar Havivi
2010-03-05 22:25 ` [Qemu-devel] [PATCH 1/2] QError: New QERR_DEVICE_NOT_ENCRYPTED Shahar Havivi
2010-03-05 22:26 ` [Qemu-devel] [PATCH 2/2] Wrong error message in block_passwd command Shahar Havivi
@ 2010-03-08 8:46 ` Kevin Wolf
2010-03-08 20:48 ` Luiz Capitulino
3 siblings, 0 replies; 6+ messages in thread
From: Kevin Wolf @ 2010-03-08 8:46 UTC (permalink / raw)
To: Shahar Havivi; +Cc: Dor Laor, qemu-devel
Am 05.03.2010 23:24, schrieb Shahar Havivi:
> The next two patches fix the wrong error message in block_passwd
> monitor command: when trying to decrypt un-encrypted drive, user
> get error wrong password.
>
> "1" add error message to qerror.h and qerror.c
> "2" patch the monitor command error handling
>
> Shahar Havivi (2):
> QError: New QERR_DEVICE_NOT_ENCRYPTED
> Wrong error message in block_passwd command
>
> block.c | 7 +++++--
> monitor.c | 7 ++++++-
> qerror.c | 4 ++++
> qerror.h | 3 +++
> 4 files changed, 18 insertions(+), 3 deletions(-)
Acked-by: Kevin Wolf <kwolf@redhat.com>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Qemu-devel] [PATCH 0/2] Fix block_passwd monitor command error
2010-03-05 22:24 [Qemu-devel] [PATCH 0/2] Fix block_passwd monitor command error Shahar Havivi
` (2 preceding siblings ...)
2010-03-08 8:46 ` [Qemu-devel] [PATCH 0/2] Fix block_passwd monitor command error Kevin Wolf
@ 2010-03-08 20:48 ` Luiz Capitulino
3 siblings, 0 replies; 6+ messages in thread
From: Luiz Capitulino @ 2010-03-08 20:48 UTC (permalink / raw)
To: Shahar Havivi; +Cc: Dor Laor, qemu-devel
On Sat, 6 Mar 2010 00:24:53 +0200
Shahar Havivi <shaharh@redhat.com> wrote:
> The next two patches fix the wrong error message in block_passwd
> monitor command: when trying to decrypt un-encrypted drive, user
> get error wrong password.
>
> "1" add error message to qerror.h and qerror.c
> "2" patch the monitor command error handling
Looks good to me.
>
> Shahar Havivi (2):
> QError: New QERR_DEVICE_NOT_ENCRYPTED
> Wrong error message in block_passwd command
>
> block.c | 7 +++++--
> monitor.c | 7 ++++++-
> qerror.c | 4 ++++
> qerror.h | 3 +++
> 4 files changed, 18 insertions(+), 3 deletions(-)
>
>
>
^ permalink raw reply [flat|nested] 6+ messages in thread