aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Bligh <alex@alex.org.uk>2013-02-19 15:25:16 +0000
committerAlex Bligh <alex@alex.org.uk>2013-02-19 15:25:16 +0000
commitea7b62a94430dfe03a342d6aef2f66a664f8da7e (patch)
treeaffb27903be0dc64835b5144932a7cb3d564b799
parent3c3282053a9011885185b267960a4947b21d0101 (diff)
downloadxen-ea7b62a94430dfe03a342d6aef2f66a664f8da7e.tar.gz
xen-ea7b62a94430dfe03a342d6aef2f66a664f8da7e.tar.bz2
xen-ea7b62a94430dfe03a342d6aef2f66a664f8da7e.zip
libxl_qmp: Introduce libxl__qmp_set_global_dirty_log.
This function will enable or disable the global dirty log on QEMU, used during a migration. Backport of xen-unstable patch: : HG changeset patch : User Anthony PERARD <anthony.perard@citrix.com> : Date 1349693135 -3600 : Node ID d4aec9eff7e6d15c2805957af620c82555553b3e : Parent f3890916496445c97d6778d6c986b0270ff707f2 Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Committed-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
-rw-r--r--tools/libxl/libxl_internal.h2
-rw-r--r--tools/libxl/libxl_qmp.c12
2 files changed, 12 insertions, 2 deletions
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index b00ff618c7..f658562f29 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1400,6 +1400,8 @@ _hidden int libxl__qmp_stop(libxl__gc *gc, int domid);
_hidden int libxl__qmp_resume(libxl__gc *gc, int domid);
/* Save current QEMU state into fd. */
_hidden int libxl__qmp_save(libxl__gc *gc, int domid, const char *filename);
+/* Set dirty bitmap logging status */
+_hidden int libxl__qmp_set_global_dirty_log(libxl__gc *gc, int domid, bool enable);
/* close and free the QMP handler */
_hidden void libxl__qmp_close(libxl__qmp_handler *qmp);
/* remove the socket file, if the file has already been removed,
diff --git a/tools/libxl/libxl_qmp.c b/tools/libxl/libxl_qmp.c
index b09bf137fd..ac10f20c93 100644
--- a/tools/libxl/libxl_qmp.c
+++ b/tools/libxl/libxl_qmp.c
@@ -658,7 +658,6 @@ static void qmp_parameters_add_string(libxl__gc *gc,
qmp_parameters_common_add(gc, param, name, obj);
}
-#if 0
static void qmp_parameters_add_bool(libxl__gc *gc,
libxl__json_object **param,
const char *name, bool b)
@@ -669,7 +668,6 @@ static void qmp_parameters_add_bool(libxl__gc *gc,
obj->u.b = b;
qmp_parameters_common_add(gc, param, name, obj);
}
-#endif
#define QMP_PARAMETERS_SPRINTF(args, name, format, ...) \
qmp_parameters_add_string(gc, args, name, \
@@ -905,6 +903,16 @@ int libxl__qmp_resume(libxl__gc *gc, int domid)
return qmp_run_command(gc, domid, "cont", NULL, NULL, NULL);
}
+int libxl__qmp_set_global_dirty_log(libxl__gc *gc, int domid, bool enable)
+{
+ libxl__json_object *args = NULL;
+
+ qmp_parameters_add_bool(gc, &args, "enable", enable);
+
+ return qmp_run_command(gc, domid, "xen-set-global-dirty-log", args,
+ NULL, NULL);
+}
+
int libxl__qmp_initializations(libxl__gc *gc, uint32_t domid,
const libxl_domain_config *guest_config)
{