mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-22 13:45:38 +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>
|
||||
|
||||
* include/libvirt/libvirt.h include/libvirt/libvirt.h.in
|
||||
|
@ -3087,6 +3087,7 @@ xenDaemonAttachDevice(virDomainPtr domain, char *xml)
|
||||
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,
|
||||
@ -3116,8 +3117,16 @@ xenDaemonAttachDevice(virDomainPtr domain, char *xml)
|
||||
*(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;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user