[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v7 13/14] qmp-commands.hx: Update the supported
From: |
Kashyap Chamarthy |
Subject: |
Re: [Qemu-devel] [PATCH v7 13/14] qmp-commands.hx: Update the supported 'transaction' operations |
Date: |
Thu, 1 Oct 2015 12:57:41 +0200 |
User-agent: |
Mutt/1.5.23.1 (2014-03-12) |
On Wed, Sep 30, 2015 at 02:56:14PM -0400, John Snow wrote:
>
>
> On 09/21/2015 10:46 PM, Fam Zheng wrote:
> > From: Kashyap Chamarthy <address@hidden>
> >
> > 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
> >
> > Signed-off-by: Kashyap Chamarthy <address@hidden>
> > Reviewed-by: Eric Blake <address@hidden>
> > Reviewed-by: Max Reitz <address@hidden>
> > Signed-off-by: John Snow <address@hidden>
> > Signed-off-by: Stefan Hajnoczi <address@hidden>
> > Signed-off-by: Fam Zheng <address@hidden>
> > ---
> > qmp-commands.hx | 21 ++++++++++++++++-----
> > 1 file changed, 16 insertions(+), 5 deletions(-)
> >
> > diff --git a/qmp-commands.hx b/qmp-commands.hx
> > index 66f0300..365c874 100644
> > --- a/qmp-commands.hx
> > +++ b/qmp-commands.hx
> > @@ -1265,11 +1265,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
> >
>
> It recently occurred to me that this patch is incomplete, see just below:
>
> 'Arguments:
>
> actions array:
> - "type": the operation to perform. The only supported
> value is "blockdev-snapshot-sync". (json-string)
> '
>
>
> That's not the only type, now -- all the others listed above are valid
> too, so this section could use a brush-up as well.
Good find, John. I missed that detail.
Despite _testing_ multiple array types myself earlier :-)
-----
$ ./qmp-shell -v /tmp/qmp-sock
(QEMU) transaction(
TRANS> blockdev-snapshot-internal-sync device=drive-ide0-0-0 name=snapshot5
TRANS> block-dirty-bitmap-add node=drive-ide0-0-0 name=bitmap1
TRANS> block-dirty-bitmap-clear node=drive-ide0-0-0 name=bitmap0
TRANS> drive-backup device=drive-ide0-0-0 bitmap=bitmap1 sync=dirty-bitmap
target=./incremental.0.img mode=existing format=qcow2
TRANS> )
{"execute": "transaction", "arguments": {"actions": [{"data": {"device":
"drive-ide0-0-0", "name": "snapshot5"}, "type":
"blockdev-snapshot-internal-sync"}, {"data": {"node": "drive-ide0-0-0", "name":
"bitmap1"}, "type": "block-dirty-bitmap-add"}, {"data": {"node":
"drive-ide0-0-0", "name": "bitmap0"}, "type": "block-dirty-bitmap-clear"},
{"data": {"target": "./incremental.0.img", "format": "qcow2", "sync":
"dirty-bitmap", "bitmap": "bitmap1", "mode": "existing", "device":
"drive-ide0-0-0"}, "type": "drive-backup"}]}}
{"return": {}}
(QEMU)
-----
Will send an updated patch.
--
/kashyap