All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH] qmp-commands.hx: Update the supported 'transaction' operations
@ 2015-10-02 12:12 Kashyap Chamarthy
  2015-10-02 12:40 ` Eric Blake
                   ` (3 more replies)
  0 siblings, 4 replies; 14+ messages in thread
From: Kashyap Chamarthy @ 2015-10-02 12:12 UTC (permalink / raw)
  To: qemu-devel; +Cc: kwolf, famz, mreitz, jsnow

Although the canonical source of reference for QMP commands is
qapi-schema.json, for consistency's sake, update qmp-commands.hx to
state the list of supported transactionable operations, namely:

    drive-backup
    blockdev-backup
    blockdev-snapshot-internal-sync
    abort
    block-dirty-bitmap-add
    block-dirty-bitmap-clear

Also update the possible values for the "type" action array.

Signed-off-by: Kashyap Chamarthy <kchamart@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
---
In v8 ("v8" because Fam included this as part of a series that is
in its "v7" edition):
 - Update the possible values for supported 'type' of operation
---
 qmp-commands.hx | 29 ++++++++++++++++++++++-------
 1 file changed, 22 insertions(+), 7 deletions(-)

diff --git a/qmp-commands.hx b/qmp-commands.hx
index d2ba800d5effaddcae4c437452ef1f67c0aaaaa9..2b52980cfc2f80904a3c7375a382b638e8a51161 100644
--- a/qmp-commands.hx
+++ b/qmp-commands.hx
@@ -1270,11 +1270,22 @@ SQMP
 transaction
 -----------
 
-Atomically operate on one or more block devices.  The only supported operations
-for now are drive-backup, internal and external snapshotting.  A list of
-dictionaries is accepted, that contains the actions to be performed.
-If there is any failure performing any of the operations, all operations
-for the group are abandoned.
+Atomically operate on one or more block devices.  Operations that are
+currently supported:
+
+    - drive-backup
+    - blockdev-backup
+    - blockdev-snapshot-sync
+    - blockdev-snapshot-internal-sync
+    - abort
+    - block-dirty-bitmap-add
+    - block-dirty-bitmap-clear
+
+Refer to the qemu/qapi-schema.json file for minimum required QEMU
+versions for these operations.  A list of dictionaries is accepted,
+that contains the actions to be performed.  If there is any failure
+performing any of the operations, all operations for the group are
+abandoned.
 
 For external snapshots, the dictionary contains the device, the file to use for
 the new snapshot, and the format.  The default format, if not specified, is
@@ -1301,8 +1312,12 @@ it later with qemu-img or other command.
 Arguments:
 
 actions array:
-    - "type": the operation to perform.  The only supported
-      value is "blockdev-snapshot-sync". (json-string)
+    - "type": the operation to perform (json-string).  Possible
+              values: "drive-backup", "blockdev-backup",
+                      "blockdev-snapshot-sync",
+                      "blockdev-snapshot-internal-sync",
+                      "abort", "block-dirty-bitmap-add",
+                      "block-dirty-bitmap-clear"
     - "data": a dictionary.  The contents depend on the value
       of "type".  When "type" is "blockdev-snapshot-sync":
       - "device": device name to snapshot (json-string)
-- 
2.4.3

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

* Re: [Qemu-devel] [PATCH] qmp-commands.hx: Update the supported 'transaction' operations
  2015-10-02 12:12 [Qemu-devel] [PATCH] qmp-commands.hx: Update the supported 'transaction' operations Kashyap Chamarthy
@ 2015-10-02 12:40 ` Eric Blake
  2015-10-02 12:51   ` Kashyap Chamarthy
  2015-10-02 17:59 ` Max Reitz
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 14+ messages in thread
From: Eric Blake @ 2015-10-02 12:40 UTC (permalink / raw)
  To: Kashyap Chamarthy, qemu-devel; +Cc: kwolf, jsnow, famz, mreitz

[-- Attachment #1: Type: text/plain, Size: 876 bytes --]

On 10/02/2015 06:12 AM, Kashyap Chamarthy wrote:
> Although the canonical source of reference for QMP commands is
> qapi-schema.json, for consistency's sake, update qmp-commands.hx to
> state the list of supported transactionable operations, namely:
> 
>     drive-backup
>     blockdev-backup
>     blockdev-snapshot-internal-sync
>     abort
>     block-dirty-bitmap-add
>     block-dirty-bitmap-clear
> 
> Also update the possible values for the "type" action array.
> 
> Signed-off-by: Kashyap Chamarthy <kchamart@redhat.com>
> Reviewed-by: Eric Blake <eblake@redhat.com>

Significant enough changes that I would have dropped R-b before posting
to ensure it gets looked at. But fortunately, you did a good job, so you
can still keep my R-b.

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 604 bytes --]

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

* Re: [Qemu-devel] [PATCH] qmp-commands.hx: Update the supported 'transaction' operations
  2015-10-02 12:40 ` Eric Blake
@ 2015-10-02 12:51   ` Kashyap Chamarthy
  0 siblings, 0 replies; 14+ messages in thread
From: Kashyap Chamarthy @ 2015-10-02 12:51 UTC (permalink / raw)
  To: Eric Blake; +Cc: kwolf, jsnow, famz, qemu-devel, mreitz

On Fri, Oct 02, 2015 at 06:40:28AM -0600, Eric Blake wrote:
> On 10/02/2015 06:12 AM, Kashyap Chamarthy wrote:
> > Although the canonical source of reference for QMP commands is
> > qapi-schema.json, for consistency's sake, update qmp-commands.hx to
> > state the list of supported transactionable operations, namely:
> > 
> >     drive-backup
> >     blockdev-backup
> >     blockdev-snapshot-internal-sync
> >     abort
> >     block-dirty-bitmap-add
> >     block-dirty-bitmap-clear
> > 
> > Also update the possible values for the "type" action array.
> > 
> > Signed-off-by: Kashyap Chamarthy <kchamart@redhat.com>
> > Reviewed-by: Eric Blake <eblake@redhat.com>
> 
> Significant enough changes that I would have dropped R-b before posting
> to ensure it gets looked at. 

Yes, I was wary of this and thought I included a blurb "Removing Eric's
R-b as this change involves more edits."  My bad, seems to have missed
it while message composition.  And, your reminder doesn't hurt.

> But fortunately, you did a good job, so you can still keep my R-b.

Thanks.

-- 
/kashyap

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

* Re: [Qemu-devel] [PATCH] qmp-commands.hx: Update the supported 'transaction' operations
  2015-10-02 12:12 [Qemu-devel] [PATCH] qmp-commands.hx: Update the supported 'transaction' operations Kashyap Chamarthy
  2015-10-02 12:40 ` Eric Blake
@ 2015-10-02 17:59 ` Max Reitz
  2015-10-12 11:04   ` Kashyap Chamarthy
  2015-10-12 11:30 ` Kevin Wolf
  2015-11-23 18:58 ` Marc-André Lureau
  3 siblings, 1 reply; 14+ messages in thread
From: Max Reitz @ 2015-10-02 17:59 UTC (permalink / raw)
  To: Kashyap Chamarthy, qemu-devel; +Cc: kwolf, famz, jsnow

[-- Attachment #1: Type: text/plain, Size: 3217 bytes --]

On 02.10.2015 14:12, Kashyap Chamarthy wrote:
> Although the canonical source of reference for QMP commands is
> qapi-schema.json, for consistency's sake, update qmp-commands.hx to
> state the list of supported transactionable operations, namely:
> 
>     drive-backup
>     blockdev-backup
>     blockdev-snapshot-internal-sync
>     abort
>     block-dirty-bitmap-add
>     block-dirty-bitmap-clear
> 
> Also update the possible values for the "type" action array.
> 
> Signed-off-by: Kashyap Chamarthy <kchamart@redhat.com>
> Reviewed-by: Eric Blake <eblake@redhat.com>
> ---
> In v8 ("v8" because Fam included this as part of a series that is
> in its "v7" edition):
>  - Update the possible values for supported 'type' of operation
> ---
>  qmp-commands.hx | 29 ++++++++++++++++++++++-------
>  1 file changed, 22 insertions(+), 7 deletions(-)
> 
> diff --git a/qmp-commands.hx b/qmp-commands.hx
> index d2ba800d5effaddcae4c437452ef1f67c0aaaaa9..2b52980cfc2f80904a3c7375a382b638e8a51161 100644
> --- a/qmp-commands.hx
> +++ b/qmp-commands.hx
> @@ -1270,11 +1270,22 @@ SQMP
>  transaction
>  -----------
>  
> -Atomically operate on one or more block devices.  The only supported operations
> -for now are drive-backup, internal and external snapshotting.  A list of
> -dictionaries is accepted, that contains the actions to be performed.
> -If there is any failure performing any of the operations, all operations
> -for the group are abandoned.
> +Atomically operate on one or more block devices.  Operations that are
> +currently supported:
> +
> +    - drive-backup
> +    - blockdev-backup
> +    - blockdev-snapshot-sync
> +    - blockdev-snapshot-internal-sync
> +    - abort
> +    - block-dirty-bitmap-add
> +    - block-dirty-bitmap-clear
> +
> +Refer to the qemu/qapi-schema.json file for minimum required QEMU
> +versions for these operations.  A list of dictionaries is accepted,
> +that contains the actions to be performed.  If there is any failure
> +performing any of the operations, all operations for the group are
> +abandoned.
>  
>  For external snapshots, the dictionary contains the device, the file to use for
>  the new snapshot, and the format.  The default format, if not specified, is
> @@ -1301,8 +1312,12 @@ it later with qemu-img or other command.
>  Arguments:
>  
>  actions array:
> -    - "type": the operation to perform.  The only supported
> -      value is "blockdev-snapshot-sync". (json-string)
> +    - "type": the operation to perform (json-string).  Possible
> +              values: "drive-backup", "blockdev-backup",
> +                      "blockdev-snapshot-sync",
> +                      "blockdev-snapshot-internal-sync",
> +                      "abort", "block-dirty-bitmap-add",
> +                      "block-dirty-bitmap-clear"
>      - "data": a dictionary.  The contents depend on the value
>        of "type".  When "type" is "blockdev-snapshot-sync":
>        - "device": device name to snapshot (json-string)
> 

Do you want to extend this list, too? Right now it only contains
parameter information for blockdev-snapshot-sync and
blockdev-snapshot-internal-sync.

Max


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 473 bytes --]

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

* Re: [Qemu-devel] [PATCH] qmp-commands.hx: Update the supported 'transaction' operations
  2015-10-02 17:59 ` Max Reitz
@ 2015-10-12 11:04   ` Kashyap Chamarthy
  2015-10-12 13:54     ` Eric Blake
  0 siblings, 1 reply; 14+ messages in thread
From: Kashyap Chamarthy @ 2015-10-12 11:04 UTC (permalink / raw)
  To: Max Reitz; +Cc: kwolf, famz, jsnow, qemu-devel

[Sorry, I noticed your question only just now, as I was briefly away
from this list.]

On Fri, Oct 02, 2015 at 07:59:48PM +0200, Max Reitz wrote:
> On 02.10.2015 14:12, Kashyap Chamarthy wrote:
> > Although the canonical source of reference for QMP commands is
> > qapi-schema.json, for consistency's sake, update qmp-commands.hx to
> > state the list of supported transactionable operations, namely:
> > 
> >     drive-backup
> >     blockdev-backup
> >     blockdev-snapshot-internal-sync
> >     abort
> >     block-dirty-bitmap-add
> >     block-dirty-bitmap-clear
> > 
> > Also update the possible values for the "type" action array.
> > 
> > Signed-off-by: Kashyap Chamarthy <kchamart@redhat.com>
> > Reviewed-by: Eric Blake <eblake@redhat.com>
> > ---
> > In v8 ("v8" because Fam included this as part of a series that is
> > in its "v7" edition):
> >  - Update the possible values for supported 'type' of operation
> > ---
> >  qmp-commands.hx | 29 ++++++++++++++++++++++-------
> >  1 file changed, 22 insertions(+), 7 deletions(-)
> > 
> > diff --git a/qmp-commands.hx b/qmp-commands.hx
> > index d2ba800d5effaddcae4c437452ef1f67c0aaaaa9..2b52980cfc2f80904a3c7375a382b638e8a51161 100644
> > --- a/qmp-commands.hx
> > +++ b/qmp-commands.hx
> > @@ -1270,11 +1270,22 @@ SQMP
> >  transaction
> >  -----------
> >  
> > -Atomically operate on one or more block devices.  The only supported operations
> > -for now are drive-backup, internal and external snapshotting.  A list of
> > -dictionaries is accepted, that contains the actions to be performed.
> > -If there is any failure performing any of the operations, all operations
> > -for the group are abandoned.
> > +Atomically operate on one or more block devices.  Operations that are
> > +currently supported:
> > +
> > +    - drive-backup
> > +    - blockdev-backup
> > +    - blockdev-snapshot-sync
> > +    - blockdev-snapshot-internal-sync
> > +    - abort
> > +    - block-dirty-bitmap-add
> > +    - block-dirty-bitmap-clear
> > +
> > +Refer to the qemu/qapi-schema.json file for minimum required QEMU
> > +versions for these operations.  A list of dictionaries is accepted,
> > +that contains the actions to be performed.  If there is any failure
> > +performing any of the operations, all operations for the group are
> > +abandoned.
> >  
> >  For external snapshots, the dictionary contains the device, the file to use for
> >  the new snapshot, and the format.  The default format, if not specified, is
> > @@ -1301,8 +1312,12 @@ it later with qemu-img or other command.
> >  Arguments:
> >  
> >  actions array:
> > -    - "type": the operation to perform.  The only supported
> > -      value is "blockdev-snapshot-sync". (json-string)
> > +    - "type": the operation to perform (json-string).  Possible
> > +              values: "drive-backup", "blockdev-backup",
> > +                      "blockdev-snapshot-sync",
> > +                      "blockdev-snapshot-internal-sync",
> > +                      "abort", "block-dirty-bitmap-add",
> > +                      "block-dirty-bitmap-clear"
> >      - "data": a dictionary.  The contents depend on the value
> >        of "type".  When "type" is "blockdev-snapshot-sync":
> >        - "device": device name to snapshot (json-string)
> > 
> 
> Do you want to extend this list, too? Right now it only contains
> parameter information for blockdev-snapshot-sync and
> blockdev-snapshot-internal-sync.

You mean, all the parameters for rest of the transactionable commands
that one can possibly add (taking block-core.json)?

E.g. for 'drive-backup' command, all the possible data ('device',
target', 'format', 'sync', etc) one can provide (which are enumerated in
the DriveBackup struct):


    $ less qapi/block-core.json
    [...]
    { 'struct': 'DriveBackup',
      'data': { 'device': 'str', 'target': 'str', '*format': 'str',
                'sync': 'MirrorSyncMode', '*mode': 'NewImageMode',
                '*speed': 'int', '*bitmap': 'str',
                '*on-source-error': 'BlockdevOnError',
                '*on-target-error': 'BlockdevOnError' } }
    [...]

And, data provided by 'BlockdevBackup' struct for 'blockdev-backup', so
on.

If so, I can do try that if that's the preferred way, but maybe it can
be done as a separate commit, since it's been that way for a while?  


-- 
/kashyap

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

* Re: [Qemu-devel] [PATCH] qmp-commands.hx: Update the supported 'transaction' operations
  2015-10-02 12:12 [Qemu-devel] [PATCH] qmp-commands.hx: Update the supported 'transaction' operations Kashyap Chamarthy
  2015-10-02 12:40 ` Eric Blake
  2015-10-02 17:59 ` Max Reitz
@ 2015-10-12 11:30 ` Kevin Wolf
  2015-11-23 18:58 ` Marc-André Lureau
  3 siblings, 0 replies; 14+ messages in thread
From: Kevin Wolf @ 2015-10-12 11:30 UTC (permalink / raw)
  To: Kashyap Chamarthy; +Cc: jsnow, famz, qemu-devel, mreitz

Am 02.10.2015 um 14:12 hat Kashyap Chamarthy geschrieben:
> Although the canonical source of reference for QMP commands is
> qapi-schema.json, for consistency's sake, update qmp-commands.hx to
> state the list of supported transactionable operations, namely:
> 
>     drive-backup
>     blockdev-backup
>     blockdev-snapshot-internal-sync
>     abort
>     block-dirty-bitmap-add
>     block-dirty-bitmap-clear
> 
> Also update the possible values for the "type" action array.
> 
> Signed-off-by: Kashyap Chamarthy <kchamart@redhat.com>
> Reviewed-by: Eric Blake <eblake@redhat.com>

Thanks, applied to the block branch.

Kevin

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

* Re: [Qemu-devel] [PATCH] qmp-commands.hx: Update the supported 'transaction' operations
  2015-10-12 11:04   ` Kashyap Chamarthy
@ 2015-10-12 13:54     ` Eric Blake
  2015-10-12 15:31       ` John Snow
  0 siblings, 1 reply; 14+ messages in thread
From: Eric Blake @ 2015-10-12 13:54 UTC (permalink / raw)
  To: Kashyap Chamarthy, Max Reitz; +Cc: kwolf, jsnow, famz, qemu-devel

[-- Attachment #1: Type: text/plain, Size: 2003 bytes --]

On 10/12/2015 05:04 AM, Kashyap Chamarthy wrote:
> [Sorry, I noticed your question only just now, as I was briefly away
> from this list.]
> 
> On Fri, Oct 02, 2015 at 07:59:48PM +0200, Max Reitz wrote:
>> On 02.10.2015 14:12, Kashyap Chamarthy wrote:
>>> Although the canonical source of reference for QMP commands is
>>> qapi-schema.json, for consistency's sake, update qmp-commands.hx to
>>> state the list of supported transactionable operations, namely:
>>>

>>>  actions array:
>>> -    - "type": the operation to perform.  The only supported
>>> -      value is "blockdev-snapshot-sync". (json-string)
>>> +    - "type": the operation to perform (json-string).  Possible
>>> +              values: "drive-backup", "blockdev-backup",
>>> +                      "blockdev-snapshot-sync",
>>> +                      "blockdev-snapshot-internal-sync",
>>> +                      "abort", "block-dirty-bitmap-add",
>>> +                      "block-dirty-bitmap-clear"
>>>      - "data": a dictionary.  The contents depend on the value
>>>        of "type".  When "type" is "blockdev-snapshot-sync":
>>>        - "device": device name to snapshot (json-string)
>>>
>>
>> Do you want to extend this list, too? Right now it only contains
>> parameter information for blockdev-snapshot-sync and
>> blockdev-snapshot-internal-sync.
> 
> You mean, all the parameters for rest of the transactionable commands
> that one can possibly add (taking block-core.json)?

Or conversely, we could drop the action-specific arguments, and just say
something like "see the documentation for specific additional fields
appropriate for that action"


> If so, I can do try that if that's the preferred way, but maybe it can
> be done as a separate commit, since it's been that way for a while?  

Yes, at this point, a separate commit for any further cleanups is fine.

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 604 bytes --]

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

* Re: [Qemu-devel] [PATCH] qmp-commands.hx: Update the supported 'transaction' operations
  2015-10-12 13:54     ` Eric Blake
@ 2015-10-12 15:31       ` John Snow
  0 siblings, 0 replies; 14+ messages in thread
From: John Snow @ 2015-10-12 15:31 UTC (permalink / raw)
  To: Eric Blake, Kashyap Chamarthy, Max Reitz; +Cc: kwolf, famz, qemu-devel



On 10/12/2015 09:54 AM, Eric Blake wrote:
> On 10/12/2015 05:04 AM, Kashyap Chamarthy wrote:
>> [Sorry, I noticed your question only just now, as I was briefly away
>> from this list.]
>>
>> On Fri, Oct 02, 2015 at 07:59:48PM +0200, Max Reitz wrote:
>>> On 02.10.2015 14:12, Kashyap Chamarthy wrote:
>>>> Although the canonical source of reference for QMP commands is
>>>> qapi-schema.json, for consistency's sake, update qmp-commands.hx to
>>>> state the list of supported transactionable operations, namely:
>>>>
> 
>>>>  actions array:
>>>> -    - "type": the operation to perform.  The only supported
>>>> -      value is "blockdev-snapshot-sync". (json-string)
>>>> +    - "type": the operation to perform (json-string).  Possible
>>>> +              values: "drive-backup", "blockdev-backup",
>>>> +                      "blockdev-snapshot-sync",
>>>> +                      "blockdev-snapshot-internal-sync",
>>>> +                      "abort", "block-dirty-bitmap-add",
>>>> +                      "block-dirty-bitmap-clear"
>>>>      - "data": a dictionary.  The contents depend on the value
>>>>        of "type".  When "type" is "blockdev-snapshot-sync":
>>>>        - "device": device name to snapshot (json-string)
>>>>
>>>
>>> Do you want to extend this list, too? Right now it only contains
>>> parameter information for blockdev-snapshot-sync and
>>> blockdev-snapshot-internal-sync.
>>
>> You mean, all the parameters for rest of the transactionable commands
>> that one can possibly add (taking block-core.json)?
> 
> Or conversely, we could drop the action-specific arguments, and just say
> something like "see the documentation for specific additional fields
> appropriate for that action"
> 

This is the approach that's most flexible. As it stands upstream right
now, all of the various actions simply have an identical command layout
to their respective QMP versions, so it'd be easiest to just point to
the various singlet commands.

We'll prevent desync and bad documentation that way. If we ever add
extra arguments per-transaction (like this patchset proposes,) we can
always just document the difference.

> 
>> If so, I can do try that if that's the preferred way, but maybe it can
>> be done as a separate commit, since it's been that way for a while?  
> 
> Yes, at this point, a separate commit for any further cleanups is fine.
> 

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

* Re: [Qemu-devel] [PATCH] qmp-commands.hx: Update the supported 'transaction' operations
  2015-10-02 12:12 [Qemu-devel] [PATCH] qmp-commands.hx: Update the supported 'transaction' operations Kashyap Chamarthy
                   ` (2 preceding siblings ...)
  2015-10-12 11:30 ` Kevin Wolf
@ 2015-11-23 18:58 ` Marc-André Lureau
  2015-11-23 18:59   ` Marc-André Lureau
  2015-11-23 19:02   ` John Snow
  3 siblings, 2 replies; 14+ messages in thread
From: Marc-André Lureau @ 2015-11-23 18:58 UTC (permalink / raw)
  To: Kashyap Chamarthy; +Cc: Kevin Wolf, jsnow, famz, QEMU, Max Reitz

Hi

On Fri, Oct 2, 2015 at 2:12 PM, Kashyap Chamarthy <kchamart@redhat.com> wrote:
> Although the canonical source of reference for QMP commands is
> qapi-schema.json, for consistency's sake, update qmp-commands.hx to
> state the list of supported transactionable operations, namely:
>
>     drive-backup
>     blockdev-backup
>     blockdev-snapshot-internal-sync
>     abort
>     block-dirty-bitmap-add
>     block-dirty-bitmap-clear
>
> Also update the possible values for the "type" action array.

Isn't the actions limited by the TransactionAction in qapi-schema.json?

 { 'union': 'TransactionAction',
   'data': {
        'blockdev-snapshot-sync': 'BlockdevSnapshot',
        'drive-backup': 'DriveBackup',
+       'blockdev-backup': 'BlockdevBackup',
        'abort': 'Abort',
        'blockdev-snapshot-internal-sync': 'BlockdevSnapshotInternal'
    } }

It looks like block-dirty-bitmap-add/clear isn't in the list.

Thanks

>
> Signed-off-by: Kashyap Chamarthy <kchamart@redhat.com>
> Reviewed-by: Eric Blake <eblake@redhat.com>
> ---
> In v8 ("v8" because Fam included this as part of a series that is
> in its "v7" edition):
>  - Update the possible values for supported 'type' of operation
> ---
>  qmp-commands.hx | 29 ++++++++++++++++++++++-------
>  1 file changed, 22 insertions(+), 7 deletions(-)
>
> diff --git a/qmp-commands.hx b/qmp-commands.hx
> index d2ba800d5effaddcae4c437452ef1f67c0aaaaa9..2b52980cfc2f80904a3c7375a382b638e8a51161 100644
> --- a/qmp-commands.hx
> +++ b/qmp-commands.hx
> @@ -1270,11 +1270,22 @@ SQMP
>  transaction
>  -----------
>
> -Atomically operate on one or more block devices.  The only supported operations
> -for now are drive-backup, internal and external snapshotting.  A list of
> -dictionaries is accepted, that contains the actions to be performed.
> -If there is any failure performing any of the operations, all operations
> -for the group are abandoned.
> +Atomically operate on one or more block devices.  Operations that are
> +currently supported:
> +
> +    - drive-backup
> +    - blockdev-backup
> +    - blockdev-snapshot-sync
> +    - blockdev-snapshot-internal-sync
> +    - abort
> +    - block-dirty-bitmap-add
> +    - block-dirty-bitmap-clear
> +
> +Refer to the qemu/qapi-schema.json file for minimum required QEMU
> +versions for these operations.  A list of dictionaries is accepted,
> +that contains the actions to be performed.  If there is any failure
> +performing any of the operations, all operations for the group are
> +abandoned.
>
>  For external snapshots, the dictionary contains the device, the file to use for
>  the new snapshot, and the format.  The default format, if not specified, is
> @@ -1301,8 +1312,12 @@ it later with qemu-img or other command.
>  Arguments:
>
>  actions array:
> -    - "type": the operation to perform.  The only supported
> -      value is "blockdev-snapshot-sync". (json-string)
> +    - "type": the operation to perform (json-string).  Possible
> +              values: "drive-backup", "blockdev-backup",
> +                      "blockdev-snapshot-sync",
> +                      "blockdev-snapshot-internal-sync",
> +                      "abort", "block-dirty-bitmap-add",
> +                      "block-dirty-bitmap-clear"
>      - "data": a dictionary.  The contents depend on the value
>        of "type".  When "type" is "blockdev-snapshot-sync":
>        - "device": device name to snapshot (json-string)
> --
> 2.4.3
>
>



-- 
Marc-André Lureau

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

* Re: [Qemu-devel] [PATCH] qmp-commands.hx: Update the supported 'transaction' operations
  2015-11-23 18:58 ` Marc-André Lureau
@ 2015-11-23 18:59   ` Marc-André Lureau
  2015-11-23 19:02   ` John Snow
  1 sibling, 0 replies; 14+ messages in thread
From: Marc-André Lureau @ 2015-11-23 18:59 UTC (permalink / raw)
  To: Kashyap Chamarthy; +Cc: Kevin Wolf, jsnow, famz, QEMU, Max Reitz

Hi

On Mon, Nov 23, 2015 at 7:58 PM, Marc-André Lureau
<marcandre.lureau@gmail.com> wrote:
> Isn't the actions limited by the TransactionAction in qapi-schema.json?
>
>  { 'union': 'TransactionAction',
>    'data': {
>         'blockdev-snapshot-sync': 'BlockdevSnapshot',
>         'drive-backup': 'DriveBackup',
> +       'blockdev-backup': 'BlockdevBackup',
>         'abort': 'Abort',
>         'blockdev-snapshot-internal-sync': 'BlockdevSnapshotInternal'
>     } }
>
> It looks like block-dirty-bitmap-add/clear isn't in the list.


my bad, I was looking at older version,

-- 
Marc-André Lureau

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

* Re: [Qemu-devel] [PATCH] qmp-commands.hx: Update the supported 'transaction' operations
  2015-11-23 18:58 ` Marc-André Lureau
  2015-11-23 18:59   ` Marc-André Lureau
@ 2015-11-23 19:02   ` John Snow
  1 sibling, 0 replies; 14+ messages in thread
From: John Snow @ 2015-11-23 19:02 UTC (permalink / raw)
  To: Marc-André Lureau, Kashyap Chamarthy
  Cc: Kevin Wolf, famz, QEMU, Max Reitz



On 11/23/2015 01:58 PM, Marc-André Lureau wrote:
> Hi
> 
> On Fri, Oct 2, 2015 at 2:12 PM, Kashyap Chamarthy <kchamart@redhat.com> wrote:
>> Although the canonical source of reference for QMP commands is
>> qapi-schema.json, for consistency's sake, update qmp-commands.hx to
>> state the list of supported transactionable operations, namely:
>>
>>     drive-backup
>>     blockdev-backup
>>     blockdev-snapshot-internal-sync
>>     abort
>>     block-dirty-bitmap-add
>>     block-dirty-bitmap-clear
>>
>> Also update the possible values for the "type" action array.
> 
> Isn't the actions limited by the TransactionAction in qapi-schema.json?
> 
>  { 'union': 'TransactionAction',
>    'data': {
>         'blockdev-snapshot-sync': 'BlockdevSnapshot',
>         'drive-backup': 'DriveBackup',
> +       'blockdev-backup': 'BlockdevBackup',
>         'abort': 'Abort',
>         'blockdev-snapshot-internal-sync': 'BlockdevSnapshotInternal'
>     } }
> 
> It looks like block-dirty-bitmap-add/clear isn't in the list.
> 
> Thanks
> 

Maybe at the time. Your codebase is outdated.

##
# @TransactionAction
#
# A discriminated record of operations that can be performed with
# @transaction.
#
# Since 1.1
#
# drive-backup since 1.6
# abort since 1.6
# blockdev-snapshot-internal-sync since 1.7
# blockdev-backup since 2.3
# blockdev-snapshot since 2.5
# block-dirty-bitmap-add since 2.5
# block-dirty-bitmap-clear since 2.5
##
{ 'union': 'TransactionAction',
  'data': {
       'blockdev-snapshot': 'BlockdevSnapshot',
       'blockdev-snapshot-sync': 'BlockdevSnapshotSync',
       'drive-backup': 'DriveBackup',
       'blockdev-backup': 'BlockdevBackup',
       'abort': 'Abort',
       'blockdev-snapshot-internal-sync': 'BlockdevSnapshotInternal',
       'block-dirty-bitmap-add': 'BlockDirtyBitmapAdd',
       'block-dirty-bitmap-clear': 'BlockDirtyBitmap'
   } }

>>
>> Signed-off-by: Kashyap Chamarthy <kchamart@redhat.com>
>> Reviewed-by: Eric Blake <eblake@redhat.com>
>> ---
>> In v8 ("v8" because Fam included this as part of a series that is
>> in its "v7" edition):
>>  - Update the possible values for supported 'type' of operation
>> ---
>>  qmp-commands.hx | 29 ++++++++++++++++++++++-------
>>  1 file changed, 22 insertions(+), 7 deletions(-)
>>
>> diff --git a/qmp-commands.hx b/qmp-commands.hx
>> index d2ba800d5effaddcae4c437452ef1f67c0aaaaa9..2b52980cfc2f80904a3c7375a382b638e8a51161 100644
>> --- a/qmp-commands.hx
>> +++ b/qmp-commands.hx
>> @@ -1270,11 +1270,22 @@ SQMP
>>  transaction
>>  -----------
>>
>> -Atomically operate on one or more block devices.  The only supported operations
>> -for now are drive-backup, internal and external snapshotting.  A list of
>> -dictionaries is accepted, that contains the actions to be performed.
>> -If there is any failure performing any of the operations, all operations
>> -for the group are abandoned.
>> +Atomically operate on one or more block devices.  Operations that are
>> +currently supported:
>> +
>> +    - drive-backup
>> +    - blockdev-backup
>> +    - blockdev-snapshot-sync
>> +    - blockdev-snapshot-internal-sync
>> +    - abort
>> +    - block-dirty-bitmap-add
>> +    - block-dirty-bitmap-clear
>> +
>> +Refer to the qemu/qapi-schema.json file for minimum required QEMU
>> +versions for these operations.  A list of dictionaries is accepted,
>> +that contains the actions to be performed.  If there is any failure
>> +performing any of the operations, all operations for the group are
>> +abandoned.
>>
>>  For external snapshots, the dictionary contains the device, the file to use for
>>  the new snapshot, and the format.  The default format, if not specified, is
>> @@ -1301,8 +1312,12 @@ it later with qemu-img or other command.
>>  Arguments:
>>
>>  actions array:
>> -    - "type": the operation to perform.  The only supported
>> -      value is "blockdev-snapshot-sync". (json-string)
>> +    - "type": the operation to perform (json-string).  Possible
>> +              values: "drive-backup", "blockdev-backup",
>> +                      "blockdev-snapshot-sync",
>> +                      "blockdev-snapshot-internal-sync",
>> +                      "abort", "block-dirty-bitmap-add",
>> +                      "block-dirty-bitmap-clear"
>>      - "data": a dictionary.  The contents depend on the value
>>        of "type".  When "type" is "blockdev-snapshot-sync":
>>        - "device": device name to snapshot (json-string)
>> --
>> 2.4.3
>>
>>
> 
> 
> 

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

* Re: [Qemu-devel] [PATCH] qmp-commands.hx: Update the supported 'transaction' operations
  2015-04-23 23:07 ` Eric Blake
@ 2015-04-24  7:48   ` Kashyap Chamarthy
  0 siblings, 0 replies; 14+ messages in thread
From: Kashyap Chamarthy @ 2015-04-24  7:48 UTC (permalink / raw)
  To: Eric Blake; +Cc: kwolf, jsnow, qemu-devel, lcapitulino

On Thu, Apr 23, 2015 at 05:07:44PM -0600, Eric Blake wrote:
> On 04/23/2015 06:46 AM, Kashyap Chamarthy wrote:
> > Although the canonical source of reference for QMP commands is
> > qapi-schema.json, for consistency's sake, update qmp-commands.hx to
> > state the list of supported transactionable operations, namely:
> > 
> >     drive-backup
> >     blockdev-backup
> >     blockdev-snapshot-internal-sync
> >     abort
> >     block-dirty-bitmap-add
> >     block-dirty-bitmap-clear
> > 
> > NB: The 'block-dirty-bitmap-add' and 'block-dirty-bitmap-add' commands

Another thing I didn't notice: I enntered the same command name twice.

> > will be available once the in-review "transactionless incremental
> > backup" patch series[1] is merged upstream.
> > 
> > [1] http://lists.nongnu.org/archive/html/qemu-devel/2015-04/msg02161.html
> > 
> > Signed-off-by: Kashyap Chamarthy <kchamart@redhat.com>
> > ---
> >  qmp-commands.hx | 13 ++++++++-----
> >  1 file changed, 8 insertions(+), 5 deletions(-)
> > 
> >  
> > -Atomically operate on one or more block devices.  The only supported operations
> > -for now are drive-backup, internal and external snapshotting.  A list of
> > -dictionaries is accepted, that contains the actions to be performed.
> > -If there is any failure performing any of the operations, all operations
> > -for the group are abandoned.
> > +Atomically operate on one or more block devices. Operations that are
> > +currently supported: drive-backup, blockdev-backup,
> > +blockdev-snapshot-sync, blockdev-snapshot-internal-sync, abort,
> > +block-dirty-bitmap-add, block-dirty-bitmap-clear (refer
> 
> s/refer/refer to the/

> > +qemu/qapi-schema.json file for minimum required QEMU versions for these
> > +commands). A list of dictionaries is accepted, that contains the actions
> > +to be performed.  If there is any failure performing any of the
> > +operations, all operations for the group are abandoned.
> >  
> 
> With that change,
> Reviewed-by: Eric Blake <eblake@redhat.com>

Thanks. I'll send a v2 fixing what you found and the other mistake
(double entry of the same command) in the commit message.

-- 
/kashyap

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

* Re: [Qemu-devel] [PATCH] qmp-commands.hx: Update the supported 'transaction' operations
  2015-04-23 12:46 Kashyap Chamarthy
@ 2015-04-23 23:07 ` Eric Blake
  2015-04-24  7:48   ` Kashyap Chamarthy
  0 siblings, 1 reply; 14+ messages in thread
From: Eric Blake @ 2015-04-23 23:07 UTC (permalink / raw)
  To: Kashyap Chamarthy, qemu-devel; +Cc: kwolf, jsnow, lcapitulino

[-- Attachment #1: Type: text/plain, Size: 1950 bytes --]

On 04/23/2015 06:46 AM, Kashyap Chamarthy wrote:
> Although the canonical source of reference for QMP commands is
> qapi-schema.json, for consistency's sake, update qmp-commands.hx to
> state the list of supported transactionable operations, namely:
> 
>     drive-backup
>     blockdev-backup
>     blockdev-snapshot-internal-sync
>     abort
>     block-dirty-bitmap-add
>     block-dirty-bitmap-clear
> 
> NB: The 'block-dirty-bitmap-add' and 'block-dirty-bitmap-add' commands
> will be available once the in-review "transactionless incremental
> backup" patch series[1] is merged upstream.
> 
> [1] http://lists.nongnu.org/archive/html/qemu-devel/2015-04/msg02161.html
> 
> Signed-off-by: Kashyap Chamarthy <kchamart@redhat.com>
> ---
>  qmp-commands.hx | 13 ++++++++-----
>  1 file changed, 8 insertions(+), 5 deletions(-)
> 
>  
> -Atomically operate on one or more block devices.  The only supported operations
> -for now are drive-backup, internal and external snapshotting.  A list of
> -dictionaries is accepted, that contains the actions to be performed.
> -If there is any failure performing any of the operations, all operations
> -for the group are abandoned.
> +Atomically operate on one or more block devices. Operations that are
> +currently supported: drive-backup, blockdev-backup,
> +blockdev-snapshot-sync, blockdev-snapshot-internal-sync, abort,
> +block-dirty-bitmap-add, block-dirty-bitmap-clear (refer

s/refer/refer to the/

> +qemu/qapi-schema.json file for minimum required QEMU versions for these
> +commands). A list of dictionaries is accepted, that contains the actions
> +to be performed.  If there is any failure performing any of the
> +operations, all operations for the group are abandoned.
>  

With that change,
Reviewed-by: Eric Blake <eblake@redhat.com>

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 604 bytes --]

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

* [Qemu-devel] [PATCH] qmp-commands.hx: Update the supported 'transaction' operations
@ 2015-04-23 12:46 Kashyap Chamarthy
  2015-04-23 23:07 ` Eric Blake
  0 siblings, 1 reply; 14+ messages in thread
From: Kashyap Chamarthy @ 2015-04-23 12:46 UTC (permalink / raw)
  To: qemu-devel; +Cc: kwolf, Kashyap Chamarthy, jsnow, lcapitulino

Although the canonical source of reference for QMP commands is
qapi-schema.json, for consistency's sake, update qmp-commands.hx to
state the list of supported transactionable operations, namely:

    drive-backup
    blockdev-backup
    blockdev-snapshot-internal-sync
    abort
    block-dirty-bitmap-add
    block-dirty-bitmap-clear

NB: The 'block-dirty-bitmap-add' and 'block-dirty-bitmap-add' commands
will be available once the in-review "transactionless incremental
backup" patch series[1] is merged upstream.

[1] http://lists.nongnu.org/archive/html/qemu-devel/2015-04/msg02161.html

Signed-off-by: Kashyap Chamarthy <kchamart@redhat.com>
---
 qmp-commands.hx | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/qmp-commands.hx b/qmp-commands.hx
index 3a42ad0bffeb23778f877410f6e2038943da46c0..df2ab50daf2689328ed622d42f5ff129ce27cdef 100644
--- a/qmp-commands.hx
+++ b/qmp-commands.hx
@@ -1200,11 +1200,14 @@ SQMP
 transaction
 -----------
 
-Atomically operate on one or more block devices.  The only supported operations
-for now are drive-backup, internal and external snapshotting.  A list of
-dictionaries is accepted, that contains the actions to be performed.
-If there is any failure performing any of the operations, all operations
-for the group are abandoned.
+Atomically operate on one or more block devices. Operations that are
+currently supported: drive-backup, blockdev-backup,
+blockdev-snapshot-sync, blockdev-snapshot-internal-sync, abort,
+block-dirty-bitmap-add, block-dirty-bitmap-clear (refer
+qemu/qapi-schema.json file for minimum required QEMU versions for these
+commands). A list of dictionaries is accepted, that contains the actions
+to be performed.  If there is any failure performing any of the
+operations, all operations for the group are abandoned.
 
 For external snapshots, the dictionary contains the device, the file to use for
 the new snapshot, and the format.  The default format, if not specified, is
-- 
2.1.0

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

end of thread, other threads:[~2015-11-23 19:02 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-10-02 12:12 [Qemu-devel] [PATCH] qmp-commands.hx: Update the supported 'transaction' operations Kashyap Chamarthy
2015-10-02 12:40 ` Eric Blake
2015-10-02 12:51   ` Kashyap Chamarthy
2015-10-02 17:59 ` Max Reitz
2015-10-12 11:04   ` Kashyap Chamarthy
2015-10-12 13:54     ` Eric Blake
2015-10-12 15:31       ` John Snow
2015-10-12 11:30 ` Kevin Wolf
2015-11-23 18:58 ` Marc-André Lureau
2015-11-23 18:59   ` Marc-André Lureau
2015-11-23 19:02   ` John Snow
  -- strict thread matches above, loose matches on Subject: below --
2015-04-23 12:46 Kashyap Chamarthy
2015-04-23 23:07 ` Eric Blake
2015-04-24  7:48   ` Kashyap Chamarthy

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.