qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/2] Fix block_passwd monitor command error
@ 2010-03-05 22:24 Shahar Havivi
  2010-03-05 22:25 ` [Qemu-devel] [PATCH 1/2] QError: New QERR_DEVICE_NOT_ENCRYPTED Shahar Havivi
                   ` (3 more replies)
  0 siblings, 4 replies; 6+ messages in thread
From: Shahar Havivi @ 2010-03-05 22:24 UTC (permalink / raw)
  To: qemu-devel; +Cc: Dor Laor

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(-)

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [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

* [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

* 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

end of thread, other threads:[~2010-03-17 16:26 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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-17 16:20   ` Anthony Liguori
2010-03-05 22:26 ` [Qemu-devel] [PATCH 2/2] Wrong error message in block_passwd command 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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).