This commit is contained in:
parent
8e48089ef0
commit
cc3584ffb4
59
detach-disk.patch
Normal file
59
detach-disk.patch
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
Index: libvirt-0.4.6/src/xend_internal.c
|
||||||
|
===================================================================
|
||||||
|
--- libvirt-0.4.6.orig/src/xend_internal.c
|
||||||
|
+++ libvirt-0.4.6/src/xend_internal.c
|
||||||
|
@@ -5615,11 +5615,15 @@ virDomainXMLDevID(virDomainPtr domain,
|
||||||
|
char *xref;
|
||||||
|
|
||||||
|
if (dev->type == VIR_DOMAIN_DEVICE_DISK) {
|
||||||
|
- strcpy(class, "vbd");
|
||||||
|
if (dev->data.disk->dst == NULL)
|
||||||
|
return -1;
|
||||||
|
+
|
||||||
|
+ if (strcasecmp(dev->data.disk->driverName, "tap") == 0)
|
||||||
|
+ strcpy(class, "tap");
|
||||||
|
+ else
|
||||||
|
+ strcpy(class, "vbd");
|
||||||
|
xref = xenStoreDomainGetDiskID(domain->conn, domain->id,
|
||||||
|
- dev->data.disk->dst);
|
||||||
|
+ dev->data.disk->dst, class);
|
||||||
|
if (xref == NULL)
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
Index: libvirt-0.4.6/src/xs_internal.c
|
||||||
|
===================================================================
|
||||||
|
--- libvirt-0.4.6.orig/src/xs_internal.c
|
||||||
|
+++ libvirt-0.4.6/src/xs_internal.c
|
||||||
|
@@ -868,7 +868,8 @@ xenStoreDomainGetNetworkID(virConnectPtr
|
||||||
|
* freed by the caller.
|
||||||
|
*/
|
||||||
|
char *
|
||||||
|
-xenStoreDomainGetDiskID(virConnectPtr conn, int id, const char *dev) {
|
||||||
|
+xenStoreDomainGetDiskID(virConnectPtr conn, int id,
|
||||||
|
+ const char *dev, const char *class) {
|
||||||
|
char dir[80], path[128], **list = NULL, *val = NULL;
|
||||||
|
unsigned int devlen, len, i, num;
|
||||||
|
char *ret = NULL;
|
||||||
|
@@ -886,7 +887,7 @@ xenStoreDomainGetDiskID(virConnectPtr co
|
||||||
|
if (devlen <= 0)
|
||||||
|
return (NULL);
|
||||||
|
|
||||||
|
- snprintf(dir, sizeof(dir), "/local/domain/0/backend/vbd/%d", id);
|
||||||
|
+ snprintf(dir, sizeof(dir), "/local/domain/0/backend/%s/%d", class, id);
|
||||||
|
list = xs_directory(priv->xshandle, 0, dir, &num);
|
||||||
|
if (list != NULL) {
|
||||||
|
for (i = 0; i < num; i++) {
|
||||||
|
Index: libvirt-0.4.6/src/xs_internal.h
|
||||||
|
===================================================================
|
||||||
|
--- libvirt-0.4.6.orig/src/xs_internal.h
|
||||||
|
+++ libvirt-0.4.6/src/xs_internal.h
|
||||||
|
@@ -49,7 +49,8 @@ char * xenStoreDomainGetNetworkID(virCo
|
||||||
|
const char *mac);
|
||||||
|
char * xenStoreDomainGetDiskID(virConnectPtr conn,
|
||||||
|
int id,
|
||||||
|
- const char *dev);
|
||||||
|
+ const char *dev,
|
||||||
|
+ const char *class);
|
||||||
|
char * xenStoreDomainGetName(virConnectPtr conn,
|
||||||
|
int id);
|
||||||
|
|
@ -1,3 +1,9 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Nov 20 21:53:13 MST 2008 - jfehlig@novell.com
|
||||||
|
|
||||||
|
- Fix detach of Xen tap devices
|
||||||
|
bnc#410644 and bnc#411633
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Thu Nov 6 19:14:29 MST 2008 - jfehlig@novell.com
|
Thu Nov 6 19:14:29 MST 2008 - jfehlig@novell.com
|
||||||
|
|
||||||
|
@ -49,7 +49,7 @@ License: LGPL v2.1 or later
|
|||||||
Group: Development/Libraries/C and C++
|
Group: Development/Libraries/C and C++
|
||||||
AutoReqProv: yes
|
AutoReqProv: yes
|
||||||
Version: 0.4.6
|
Version: 0.4.6
|
||||||
Release: 7
|
Release: 8
|
||||||
Summary: A C toolkit to interract with the virtualization capabilities of Linux
|
Summary: A C toolkit to interract with the virtualization capabilities of Linux
|
||||||
Requires: readline
|
Requires: readline
|
||||||
Requires: ncurses
|
Requires: ncurses
|
||||||
@ -83,6 +83,7 @@ Patch13: clone.patch
|
|||||||
Patch14: vnc-port.patch
|
Patch14: vnc-port.patch
|
||||||
Patch15: suse-network.patch
|
Patch15: suse-network.patch
|
||||||
Patch16: xen-pv-cdrom.patch
|
Patch16: xen-pv-cdrom.patch
|
||||||
|
Patch17: detach-disk.patch
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
|
|
||||||
%description
|
%description
|
||||||
@ -190,6 +191,7 @@ Authors:
|
|||||||
%patch14 -p1
|
%patch14 -p1
|
||||||
%patch15 -p1
|
%patch15 -p1
|
||||||
%patch16 -p1
|
%patch16 -p1
|
||||||
|
%patch17 -p1
|
||||||
rm po/no.*
|
rm po/no.*
|
||||||
|
|
||||||
%build
|
%build
|
||||||
@ -322,6 +324,9 @@ rm -rf $RPM_BUILD_ROOT
|
|||||||
%{py_sitedir}/libvirtmod*
|
%{py_sitedir}/libvirtmod*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Nov 20 2008 jfehlig@novell.com
|
||||||
|
- Fix detach of Xen tap devices
|
||||||
|
bnc#410644 and bnc#411633
|
||||||
* Thu Nov 06 2008 jfehlig@novell.com
|
* Thu Nov 06 2008 jfehlig@novell.com
|
||||||
- Fix handling of iso/cdrom for xen pv domains.
|
- Fix handling of iso/cdrom for xen pv domains.
|
||||||
bnc#437388
|
bnc#437388
|
||||||
|
@ -121,7 +121,7 @@ Index: libvirt-0.4.6/src/network_conf.c
|
|||||||
+
|
+
|
||||||
+ dir = opendir("/sys/class/net");
|
+ dir = opendir("/sys/class/net");
|
||||||
+ if (dir == NULL)
|
+ if (dir == NULL)
|
||||||
+ return NULL;
|
+ return;
|
||||||
+
|
+
|
||||||
+ while ((de = readdir(dir))) {
|
+ while ((de = readdir(dir))) {
|
||||||
+ if (virNetworkIsBridge(de->d_name)) {
|
+ if (virNetworkIsBridge(de->d_name)) {
|
||||||
|
Loading…
Reference in New Issue
Block a user