forked from pool/libvirt
- Update to libvirt 1.2.0
- Add support for gluster pool - Separation of python binding - vbox: add support for 4.3 APIs - Many incremental improvements and bug fixes, see http://libvirt.org/news.html - Updated and renamed clone.patch to ia64-clone.patch OBS-URL: https://build.opensuse.org/package/show/Virtualization/libvirt?expand=0&rev=334
This commit is contained in:
66
ia64-clone.patch
Normal file
66
ia64-clone.patch
Normal file
@@ -0,0 +1,66 @@
|
||||
Index: libvirt-1.2.0/src/lxc/lxc_container.c
|
||||
===================================================================
|
||||
--- libvirt-1.2.0.orig/src/lxc/lxc_container.c
|
||||
+++ libvirt-1.2.0/src/lxc/lxc_container.c
|
||||
@@ -162,12 +162,19 @@ int lxcContainerHasReboot(void)
|
||||
VIR_FREE(buf);
|
||||
cmd = v ? LINUX_REBOOT_CMD_CAD_ON : LINUX_REBOOT_CMD_CAD_OFF;
|
||||
|
||||
+#ifdef __ia64__
|
||||
+ stacksize *= 2;
|
||||
+#endif
|
||||
if (VIR_ALLOC_N(stack, stacksize) < 0)
|
||||
return -1;
|
||||
|
||||
childStack = stack + stacksize;
|
||||
|
||||
+#ifdef __ia64__
|
||||
+ cpid = __clone2(lxcContainerRebootChild, childStack, stacksize, flags, &cmd);
|
||||
+#else
|
||||
cpid = clone(lxcContainerRebootChild, childStack, flags, &cmd);
|
||||
+#endif
|
||||
VIR_FREE(stack);
|
||||
if (cpid < 0) {
|
||||
virReportSystemError(errno, "%s",
|
||||
@@ -1985,6 +1992,9 @@ int lxcContainerStart(virDomainDefPtr de
|
||||
.handshakefd = handshakefd
|
||||
};
|
||||
|
||||
+#ifdef __ia64__
|
||||
+ stacksize *= 2;
|
||||
+#endif
|
||||
/* allocate a stack for the container */
|
||||
if (VIR_ALLOC_N(stack, stacksize) < 0)
|
||||
return -1;
|
||||
@@ -2010,7 +2020,11 @@ int lxcContainerStart(virDomainDefPtr de
|
||||
cflags |= CLONE_NEWNET;
|
||||
}
|
||||
|
||||
+#ifdef __ia64__
|
||||
+ pid = __clone2(lxcContainerChild, stacktop, stacksize, cflags, &args);
|
||||
+#else
|
||||
pid = clone(lxcContainerChild, stacktop, cflags, &args);
|
||||
+#endif
|
||||
VIR_FREE(stack);
|
||||
VIR_DEBUG("clone() completed, new container PID is %d", pid);
|
||||
|
||||
@@ -2044,12 +2058,19 @@ int lxcContainerAvailable(int features)
|
||||
if (features & LXC_CONTAINER_FEATURE_NET)
|
||||
flags |= CLONE_NEWNET;
|
||||
|
||||
+#ifdef __ia64__
|
||||
+ stacksize *= 2;
|
||||
+#endif
|
||||
if (VIR_ALLOC_N(stack, stacksize) < 0)
|
||||
return -1;
|
||||
|
||||
childStack = stack + stacksize;
|
||||
|
||||
+#ifdef __ia64__
|
||||
+ cpid = __clone2(lxcContainerDummyChild, childStack, stacksize, flags, NULL);
|
||||
+#else
|
||||
cpid = clone(lxcContainerDummyChild, childStack, flags, NULL);
|
||||
+#endif
|
||||
VIR_FREE(stack);
|
||||
if (cpid < 0) {
|
||||
char ebuf[1024] ATTRIBUTE_UNUSED;
|
Reference in New Issue
Block a user