EFI based VM with pflash storage for NVRAM could not be snapshoted as libvirt configures storage as 'raw' and writable. OK, this is a libvirt problem.
Another problem is that libvirt can not detect this failure at all as it uses HMP for this operation. This create snapshot/delete snapshot sequence passes silently. The patchset adds QMP wrappers for the purpose. Signed-off-by: "Denis V. Lunev" <d...@openvz.org> CC: Juan Quintela <quint...@redhat.com> CC: Amit Shah <amit.s...@redhat.com> CC: Markus Armbruster <arm...@redhat.com> CC: Eric Blake <ebl...@redhat.com> Changes from v2: - patches 1/2 are resplit to move processing HMP specific handling of snapshot name generation to exclusive HMP code - removed all '.' at the end of error_setg strings - fixed too long lines with '-' in qmp-commands.hx - error_setg_errno errno passing is fixed (-ret) - fixed logical error in hmp_loadvm (vm_start on error) - NOT switched to error_prepend code (it is not yet merged). Can we do this later? This will make my life easear merging code to our downstream. Changes from v1: - cosmetic fixes suggested by Markus. I pray I have added all of them - patch 5 is rewritten completely. Original one was deadbeaf Denis V. Lunev (5): qmp: process system-reset event in paused state qmp: create qmp_savevm command qmp: create qmp_delvm command migration: improve error reporting for load_vmstate qmp: create QMP implementation of loadvm command hmp.c | 14 +++++++-- include/migration/migration.h | 2 -- include/sysemu/sysemu.h | 2 +- migration/savevm.c | 56 ++++++++++++++++++++-------------- monitor.c | 9 +++--- qapi-schema.json | 39 ++++++++++++++++++++++++ qmp-commands.hx | 71 +++++++++++++++++++++++++++++++++++++++++++ qmp.c | 4 +++ vl.c | 4 ++- 9 files changed, 168 insertions(+), 33 deletions(-) -- 2.5.0