From: Anthony Liguori <anthony@codemonkey.ws>
To: Kevin Wolf <kwolf@redhat.com>
Cc: qemu-devel@nongnu.org, Michael Roth <mdroth@linux.vnet.ibm.com>,
Luiz Capitulino <lcapitulino@redhat.com>
Subject: Re: [Qemu-devel] [PATCH 12/14] qapi: introduce change-blockdev
Date: Thu, 25 Aug 2011 08:50:35 -0500 [thread overview]
Message-ID: <4E56532B.2040409@codemonkey.ws> (raw)
In-Reply-To: <4E56528F.7060406@redhat.com>
On 08/25/2011 08:47 AM, Kevin Wolf wrote:
> Am 25.08.2011 14:56, schrieb Anthony Liguori:
>> On 08/25/2011 07:46 AM, Kevin Wolf wrote:
>>> Am 24.08.2011 20:43, schrieb Anthony Liguori:
>>>> A new QMP only command to change the blockdev associated with a block device.
>>>> The semantics of change right now are just plain scary. This command introduces
>>>> sane semantics. For more details, see the documentation in the schema file.
>>>
>>> Changes to semantics should be mentioned in the commit message, and in
>>> more detail than just that they are sane (the documentation in the
>>> schema file doesn't describe differences to the old command).
>>
>> Right, but the schema describes the old command.
>>
>> There are a couple major differences with the new command vs old:
>>
>> 1) If you had a block device named 'vnc', the old command is broken.
>>
>> 2) For an encrypted device, the old change command returns an error but
>> has semantically completed the operation. The usage is:
>>
>> (qemu) change ide0 foo.img
>> Error: device ide0 is encrypted
>> (qemu) block_passwd ide0 secret
>>
>> Because even though an error is returned, the change operation has
>> actually succeeded. The new command has transactional semantics. If an
>> error is returned, nothing has happened. To set passwords, an
>> additional option is supported to specify the password. So you would do:
>>
>> (qemu) change-blockdev ide0 foo.img
>> Error: device ide0 is encrypted
>> (qemu) change-blockdev ide0 foo.img secret
>> (qemu)
>
> Does it really work like this? We need to improve the HMP implementation
> to ask for the password when needed instead of requiring users to put it
> as plain text in their command.
I didn't add an HMP version of change-blockdev. change is fine for HMP.
And change does prompt for password both for VNC and block. The main
reason for introducing change-blockdev because the only way I could make
the HMP change command work and be implemented in terms of QMP was to
use the change-blockdev command.
>
>> In addition, change-blockdev will not allow you to perform unsafe
>> probing. You can only change to a raw device if you specify a raw format.
>
> Makes sense for QMP, but I would consider it a bug for HMP. So HMP code
> should deal with it and allow using raw without specifying the format.
Yup, that's how change behaves.
> qemu is getting worse and worse to use without a management tool. :-(
One thing that's different now is that HMP and QMP are fundamentally
different interfaces. I hope this gives us the flexibility to implement
better HMP commands that we would never expose in QMP and vice versa.
As long as HMP commands are implemented in terms of QMP commands, we
should be very open and aggressive about improving HMP usablity.
Regards,
Anthony Liguori
>
> Kevin
>
next prev parent reply other threads:[~2011-08-25 13:50 UTC|newest]
Thread overview: 54+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-08-24 18:42 [Qemu-devel] [PATCH 00/14] Convert commands to QAPI (batch 1) Anthony Liguori
2011-08-24 18:42 ` [Qemu-devel] [PATCH 01/14] qerror: add qerror_report_err() Anthony Liguori
2011-08-24 20:15 ` Luiz Capitulino
2011-09-02 15:59 ` Anthony Liguori
2011-08-24 18:42 ` [Qemu-devel] [PATCH 02/14] qapi: add code generation support for middle mode Anthony Liguori
2011-08-24 18:42 ` [Qemu-devel] [PATCH 03/14] qapi: use middle mode in QMP server Anthony Liguori
2011-08-24 20:20 ` Luiz Capitulino
2011-08-24 20:38 ` Anthony Liguori
2011-08-25 16:24 ` Michael Roth
2011-08-25 16:30 ` Luiz Capitulino
2011-09-02 16:00 ` Anthony Liguori
2011-09-02 16:09 ` Luiz Capitulino
2011-09-02 16:31 ` Michael Roth
2011-09-02 16:45 ` Anthony Liguori
2011-09-02 16:57 ` Luiz Capitulino
2011-08-24 18:42 ` [Qemu-devel] [PATCH 04/14] qapi: convert query-name Anthony Liguori
2011-08-24 20:28 ` Luiz Capitulino
2011-08-24 20:41 ` Anthony Liguori
2011-08-24 21:02 ` Luiz Capitulino
2011-08-24 18:43 ` [Qemu-devel] [PATCH 05/14] block: add unsafe_probe Anthony Liguori
2011-08-24 18:43 ` [Qemu-devel] [PATCH 06/14] monitor: expose readline state Anthony Liguori
2011-08-24 18:43 ` [Qemu-devel] [PATCH 07/14] qerror: add additional parameter to QERR_DEVICE_ENCRYPTED Anthony Liguori
2011-08-24 18:43 ` [Qemu-devel] [PATCH 08/14] qapi: convert eject (qmp and hmp) to QAPI Anthony Liguori
2011-08-24 21:06 ` Luiz Capitulino
2011-08-25 12:19 ` Kevin Wolf
2011-08-25 13:40 ` Anthony Liguori
2011-08-25 13:52 ` Kevin Wolf
2011-08-25 14:03 ` Avi Kivity
2011-09-02 16:05 ` Anthony Liguori
2011-09-02 16:36 ` Kevin Wolf
2011-08-24 18:43 ` [Qemu-devel] [PATCH 09/14] qapi: convert block_passwd and add set-blockdev-password Anthony Liguori
2011-08-25 12:29 ` Kevin Wolf
2011-08-24 18:43 ` [Qemu-devel] [PATCH 10/14] qapi: add change-vnc-password Anthony Liguori
2011-08-25 9:07 ` Gerd Hoffmann
2011-08-25 13:12 ` Anthony Liguori
2011-08-25 13:33 ` Luiz Capitulino
2011-09-02 16:08 ` Anthony Liguori
2011-08-24 18:43 ` [Qemu-devel] [PATCH 11/14] qapi: add change-vnc-listen Anthony Liguori
2011-08-25 13:32 ` Luiz Capitulino
2011-09-02 16:11 ` Anthony Liguori
2011-08-24 18:43 ` [Qemu-devel] [PATCH 12/14] qapi: introduce change-blockdev Anthony Liguori
2011-08-25 12:46 ` Kevin Wolf
2011-08-25 12:56 ` Anthony Liguori
2011-08-25 13:47 ` Kevin Wolf
2011-08-25 13:50 ` Anthony Liguori [this message]
2011-08-25 14:09 ` Luiz Capitulino
2011-08-25 14:21 ` Anthony Liguori
2011-08-25 14:52 ` Luiz Capitulino
2011-08-24 18:43 ` [Qemu-devel] [PATCH 13/14] qapi: convert change Anthony Liguori
2011-08-25 14:43 ` Luiz Capitulino
2011-08-24 18:43 ` [Qemu-devel] [PATCH 14/14] vnc: don't demote authentication protocol when disabling login Anthony Liguori
2011-08-24 20:45 ` Daniel P. Berrange
2011-08-24 20:47 ` Anthony Liguori
2011-08-25 14:55 ` [Qemu-devel] [PATCH 00/14] Convert commands to QAPI (batch 1) Luiz Capitulino
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4E56532B.2040409@codemonkey.ws \
--to=anthony@codemonkey.ws \
--cc=kwolf@redhat.com \
--cc=lcapitulino@redhat.com \
--cc=mdroth@linux.vnet.ibm.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).