block: add a 'blockdev-snapshot' QMP command
commit43de7e2de07093e47c7f25386aff280875dc3c62
authorAlberto Garcia <berto@igalia.com>
Mon, 26 Oct 2015 12:27:16 +0000 (26 14:27 +0200)
committerKevin Wolf <kwolf@redhat.com>
Wed, 11 Nov 2015 15:25:47 +0000 (11 16:25 +0100)
tree28759e468f75d58f1d64e4c6ceeb5437b4f7d687
parent3e8c2e57056614933fc5eb022e1d6d0f28071b44
block: add a 'blockdev-snapshot' QMP command

One of the limitations of the 'blockdev-snapshot-sync' command is that
it does not allow passing BlockdevOptions to the newly created
snapshots, so they are always opened using the default values.

Extending the command to allow passing options is not a practical
solution because there is overlap between those options and some of
the existing parameters of the command.

This patch introduces a new 'blockdev-snapshot' command with a simpler
interface: it just takes two references to existing block devices that
will be used as the source and target for the snapshot.

Since the main difference between the two commands is that one of them
creates and opens the target image, while the other uses an already
opened one, the bulk of the implementation is shared.

Signed-off-by: Alberto Garcia <berto@igalia.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
blockdev.c
qapi-schema.json
qapi/block-core.json
qmp-commands.hx