mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-10-30 01:43:23 +00:00
* src/xend_internal.c: applied patch from Hugh Brock to allow
CD Rom device reload by reusing virDomainAttachDevice() with a new definition Daniel
This commit is contained in:
parent
298d289542
commit
fcf1b59128
@ -1,3 +1,9 @@
|
|||||||
|
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>
|
Mon Sep 10 11:35:06 CEST 2007 Daniel Veillard <veillard@redhat.com>
|
||||||
|
|
||||||
* include/libvirt/libvirt.h include/libvirt/libvirt.h.in
|
* include/libvirt/libvirt.h include/libvirt/libvirt.h.in
|
||||||
|
@ -3087,6 +3087,7 @@ xenDaemonAttachDevice(virDomainPtr domain, char *xml)
|
|||||||
char *sexpr, *conf, *str;
|
char *sexpr, *conf, *str;
|
||||||
int hvm = 0, ret;
|
int hvm = 0, ret;
|
||||||
xenUnifiedPrivatePtr priv;
|
xenUnifiedPrivatePtr priv;
|
||||||
|
char class[8], ref[80];
|
||||||
|
|
||||||
if ((domain == NULL) || (domain->conn == NULL) || (domain->name == NULL)) {
|
if ((domain == NULL) || (domain->conn == NULL) || (domain->name == NULL)) {
|
||||||
virXendError((domain ? domain->conn : NULL), VIR_ERR_INVALID_ARG,
|
virXendError((domain ? domain->conn : NULL), VIR_ERR_INVALID_ARG,
|
||||||
@ -3116,8 +3117,16 @@ xenDaemonAttachDevice(virDomainPtr domain, char *xml)
|
|||||||
*(conf + strlen(conf) -1) = 0; /* suppress final ) */
|
*(conf + strlen(conf) -1) = 0; /* suppress final ) */
|
||||||
}
|
}
|
||||||
else conf = sexpr;
|
else conf = sexpr;
|
||||||
|
if (virDomainXMLDevID(domain, xml, class, ref)) {
|
||||||
|
/* device doesn't exist, define it */
|
||||||
ret = xend_op(domain->conn, domain->name, "op", "device_create",
|
ret = xend_op(domain->conn, domain->name, "op", "device_create",
|
||||||
"config", conf, NULL);
|
"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);
|
free(sexpr);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user