[libvirt] [PATCH 0/3] Support domain snapshots with current QMP whithout savevm command

Jiri Denemark jdenemar at redhat.com
Fri Feb 25 18:04:07 UTC 2011


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




More information about the libvir-list mailing list