This patch series convert these commands into qapi and intruduce QMP commands vm-snapshot-save, vm-snapshot-load, vm-snapshot-delete and query-vm-snapshots. It also rewrite error report for function used by these commands.
Last two patches introduce new functionality of savevm and vm-snapshot-save that you cannot override existing snapshot witouth using 'force' parameter and for QMP you have to always provide name parameter. Pavel Hrdina (18): qerror: introduce QERR_GENERIC_ERROR block: add error parameter to bdrv_snapshot_create() and related functions block: add error parameter to bdrv_snapshot_goto() and related functions block: add error parameter to bdrv_snapshot_delete() and related functions block: add error parameter to bdrv_snapshot_list() and related functions block: add error parameter to bdrv_snapshot_find() block: add error parameter to del_existing_snapshots() savevm: add error parameter to qemu_savevm_state_begin() savevm: add error parameter to qemu_savevm_state_iterate() savevm: add error parameter to qemu_savevm_state_complete() savevm: add error parameter to qemu_savevm_state() savevm: add error parameter to qemu_loadvm_state() qapi: Convert savevm qapi: Convert loadvm qapi: Convert delvm qapi: Convert info snapshots hmp: allow "bool" parameter to be optional vm-snapshot-save: add force parameter block.c | 102 +++++++++++------ block.h | 13 ++- block/qcow2-snapshot.c | 33 +++++- block/qcow2.h | 16 ++- block/rbd.c | 36 ++++-- block/sheepdog.c | 48 +++++--- block_int.h | 13 ++- hmp-commands.hx | 20 ++-- hmp.c | 86 ++++++++++++++ hmp.h | 4 + migration.c | 8 +- monitor.c | 17 +-- qapi-schema.json | 84 ++++++++++++++ qemu-img.c | 8 +- qerror.h | 3 + qmp-commands.hx | 110 ++++++++++++++++++ savevm.c | 301 +++++++++++++++++++++++++------------------------ sysemu.h | 17 ++- vl.c | 7 +- 19 files changed, 659 insertions(+), 267 deletions(-) -- 1.7.11.2