[libvirt] [PATCH 0/3] Support domain snapshots with current QMP whithout savevm command
Daniel P. Berrange
berrange at redhat.com
Thu Mar 3 15:04:58 UTC 2011
On Fri, Feb 25, 2011 at 07:04:07PM +0100, Jiri Denemark wrote:
> 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.
This call path rather makes my head hurt but the lack of duplicated
code is attractive.
> I prefer version 2 since it reuses text monitor implementation, but
> other may prefer version 1, which is a bit more local...
I've suggested a possible 3rd alternative in my reply to v1
Daniel
--
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
More information about the libvir-list
mailing list