This is quite hacky since it involves falling back to HMP when savevm command is not found in QMP, which is something qemu monitor code was not designed to support. Hence, I'm providing 2 version of the first patch: 1.1/3 and 1.2/3. - 1.1/3 version only touches JSON monitor code but involves copy&paste of the snapshot code from text monitor - 1.2/3 touches more files but doesn't require duplicating the text monitor snapshot implementation into qemu_monitor_json.c. However, it results in somewhat funky call graphs: -> qemuMonitorJSONCreateSnapshot -> qemuMonitorTextCreateSnapshot -> qemuMonitorCommand (a macro expanding to qemuMonitorCommandWithFd) -> qemuMonitorJSONHumanCommandWithFd -> qemuMonitorJSONCommandWithFd The possibility to call qemuMonitorTextCreateSnapshot directly on JSON monitor is implemented by generalizing qemuMonitorCommandWithFd, which now either calls to qemuMonitorJSONHumanCommandWithFd or qemuMonitorTextCommandWithFd (former qemuMonitorCommandWithFd) depending on the monitor type. I prefer version 2 since it reuses text monitor implementation, but other may prefer version 1, which is a bit more local... Jiri Denemark (3): qemu: Fallback to HMP when savevm QMP command is not found qemu: Refactor qemuDomainSnapshotCreateXML qemu: Stop guest CPUs before creating a snapshot -- 1.7.4.1 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list