+Mon Sep 10 13:46:05 CEST 2007 Daniel Veillard <veillard@redhat.com>
+
+ * src/xend_internal.c: applied patch from Hugh Brock to allow
+ CD Rom device reload by reusing virDomainAttachDevice() with
+ a new definition
+
Mon Sep 10 11:35:06 CEST 2007 Daniel Veillard <veillard@redhat.com>
* include/libvirt/libvirt.h include/libvirt/libvirt.h.in
char *sexpr, *conf, *str;
int hvm = 0, ret;
xenUnifiedPrivatePtr priv;
+ char class[8], ref[80];
if ((domain == NULL) || (domain->conn == NULL) || (domain->name == NULL)) {
virXendError((domain ? domain->conn : NULL), VIR_ERR_INVALID_ARG,
*(conf + strlen(conf) -1) = 0; /* suppress final ) */
}
else conf = sexpr;
- ret = xend_op(domain->conn, domain->name, "op", "device_create",
- "config", conf, NULL);
+ if (virDomainXMLDevID(domain, xml, class, ref)) {
+ /* device doesn't exist, define it */
+ ret = xend_op(domain->conn, domain->name, "op", "device_create",
+ "config", conf, NULL);
+ }
+ else {
+ /* device exists, attempt to modify it */
+ ret = xend_op(domain->conn, domain->name, "op", "device_configure",
+ "config", conf, "dev", ref, NULL);
+ }
free(sexpr);
return ret;
}