Matt McCowan wrote:
diff -ur libvirt.orig/include/libvirt/libvirt.h.in
libvirt/include/libvirt/libvirt.h.in
--- libvirt.orig/include/libvirt/libvirt.h.in 2009-01-20 21:14:03.000000000 +0900
+++ libvirt/include/libvirt/libvirt.h.in 2009-02-24 13:09:07.000000000 +0900
@@ -463,10 +463,16 @@
int virDomainSuspend (virDomainPtr domain);
int virDomainResume (virDomainPtr domain);
+/* Domain save flags. */
+typedef enum {
+ VIR_SAVE_CHECKPOINT = 1, /* checkpoint save */
+} virDomainSaveFlags;
+
/*
* Domain save/restore
*/
int virDomainSave (virDomainPtr domain,
+ unsigned long flags,
const char *to);
Unfortunately, you cannot do this. virDomainSave() is part of the public API in
libvirt, and that is guaranteed to never change. So we can't add more fields to
it. Your best bet at this point might be to add another call,
"virDomainCheckpoint", with the arguments you need. Then factor out the
internal implementations of virDomainSave so that both virDomainSave and
virDomainCheckpoint share most of the same code, with just the slight
differences for checkpointing.
--
Chris Lalancette