On Tue, 28 Feb 2012 15:54:07 -0500 Jeff Cody <jc...@redhat.com> wrote:
> This adds the QMP command for blockdev-group-snapshot-sync. It > takes an array in as the input, for the argument devlist. The > array consists of the following elements: > > + device: device to snapshot. e.g. "ide-hd0", "virtio0" > + snapshot-file: path & file for the snapshot image. e.g. "/tmp/file.img" > + format: snapshot format. e.g., "qcow2". Optional > > There is no HMP equivalent for the command. > > Signed-off-by: Jeff Cody <jc...@redhat.com> Could have been squashed with the previous patch, but of course that you don't have to respin because of that. > --- > qmp-commands.hx | 39 +++++++++++++++++++++++++++++++++++++++ > 1 files changed, 39 insertions(+), 0 deletions(-) > > diff --git a/qmp-commands.hx b/qmp-commands.hx > index b5e2ab8..15d35c1 100644 > --- a/qmp-commands.hx > +++ b/qmp-commands.hx > @@ -665,6 +665,45 @@ EQMP > .args_type = "device:B", > .mhandler.cmd_new = qmp_marshal_input_block_job_cancel, > }, > + { > + .name = "blockdev-group-snapshot-sync", > + .args_type = "devlist:O", > + .params = "device:B,snapshot-file:s,format:s?", > + .mhandler.cmd_new = qmp_marshal_input_blockdev_group_snapshot_sync, > + }, > + > +SQMP > +blockdev-group-snapshot-sync > +---------------------- > + > +Synchronous snapshot of one or more block devices. A list array input > +is accepted, that contains the device and snapshot file information for > +each device in group. The default format, if not specified, is qcow2. > + > +If there is any failure creating or opening a new snapshot, all snapshots > +for the group are abandoned, and the original disks pre-snapshot attempt > +are used. > + > + > +Arguments: > + > +devlist array: > + - "device": device name to snapshot (json-string) > + - "snapshot-file": name of new image file (json-string) > + - "format": format of new image (json-string, optional) > + > +Example: > + > +-> { "execute": "blockdev-group-snapshot-sync", "arguments": > + { "devlist": [{ "device": "ide-hd0", > + "snapshot-file": > "/some/place/my-image", > + "format": "qcow2" }, > + { "device": "ide-hd1", > + "snapshot-file": > "/some/place/my-image2", > + "format": "qcow2" }] } } > +<- { "return": {} } > + > +EQMP > > { > .name = "blockdev-snapshot-sync",