File clock2.patch of Package libvirt-cim
# HG changeset patch
# User Dan Smith <danms@us.ibm.com>
# Date 1228767394 28800
# Node ID 780ad920644642f2fa54006b67942d1cfb2992c3
# Parent 18cd726e564ae8bffc518dbb5b27671548b97de1
Add <clock> support to device_parsing and xmlgen
Signed-off-by: Dan Smith <danms@us.ibm.com>
Index: libvirt-cim-0.5.2/libxkutil/device_parsing.c
===================================================================
--- libvirt-cim-0.5.2.orig/libxkutil/device_parsing.c
+++ libvirt-cim-0.5.2/libxkutil/device_parsing.c
@@ -820,6 +820,8 @@ static int parse_domain(xmlNodeSet *nsv,
set_action(&dominfo->on_reboot, child);
else if (XSTREQ(child->name, "on_crash"))
set_action(&dominfo->on_crash, child);
+ else if (XSTREQ(child->name, "clock"))
+ dominfo->clock = get_attr_value(child, "offset");
}
return 1;
Index: libvirt-cim-0.5.2/libxkutil/device_parsing.h
===================================================================
--- libvirt-cim-0.5.2.orig/libxkutil/device_parsing.h
+++ libvirt-cim-0.5.2/libxkutil/device_parsing.h
@@ -107,6 +107,7 @@ struct domain {
char *uuid;
char *bootloader;
char *bootloader_args;
+ char *clock;
union {
struct pv_os_info pv;
Index: libvirt-cim-0.5.2/libxkutil/xmlgen.c
===================================================================
--- libvirt-cim-0.5.2.orig/libxkutil/xmlgen.c
+++ libvirt-cim-0.5.2/libxkutil/xmlgen.c
@@ -463,6 +463,7 @@ static char *system_xml(struct domain *d
int ret;
char *bl = NULL;
char *bl_args = NULL;
+ char *clock = NULL;
char *xml;
if (domain->bootloader)
@@ -476,15 +477,22 @@ static char *system_xml(struct domain *d
NULL,
0);
+ if (domain->clock)
+ if (asprintf(&clock, "<clock sync='%s' />",
+ domain->clock) == -1)
+ clock = NULL;
+
ret = asprintf(&xml,
"<name>%s</name>\n"
"%s\n"
"%s\n"
+ "%s\n"
"<on_poweroff>%s</on_poweroff>\n"
"<on_crash>%s</on_crash>\n",
domain->name,
bl ? bl : "",
bl_args ? bl_args : "",
+ clock ? clock : "",
vssd_recovery_action_str(domain->on_poweroff),
vssd_recovery_action_str(domain->on_crash));
if (ret == -1)
@@ -492,7 +500,8 @@ static char *system_xml(struct domain *d
free(bl);
free(bl_args);
-
+ free(clock);
+
return xml;
}