Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
DISCONTINUED:openSUSE:11.1:Update
libvirt
clone.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File clone.patch of Package libvirt
--- src/lxc_container.c +++ src/lxc_container.c @@ -604,6 +604,9 @@ int lxcContainerStart(virDomainDefPtr de lxc_child_argv_t args = { def, nveths, veths, control, ttyPath }; /* allocate a stack for the container */ +#ifdef __ia64__ + stacksize *= 2; +#endif if (VIR_ALLOC_N(stack, stacksize) < 0) { lxcError(NULL, NULL, VIR_ERR_NO_MEMORY, NULL); return -1; @@ -615,7 +618,11 @@ int lxcContainerStart(virDomainDefPtr de if (def->nets != NULL) flags |= CLONE_NEWNET; +#ifdef __ia64__ + pid = __clone2(lxcContainerChild, stack, stacksize, flags, &args); +#else pid = clone(lxcContainerChild, stacktop, flags, &args); +#endif VIR_FREE(stack); DEBUG("clone() returned, %d", pid); @@ -641,18 +648,26 @@ int lxcContainerAvailable(int features) char *childStack; char *stack; int childStatus; + int stacksize = getpagesize() * 4; if (features & LXC_CONTAINER_FEATURE_NET) flags |= CLONE_NEWNET; - if (VIR_ALLOC_N(stack, getpagesize() * 4) < 0) { +#ifdef __ia64__ + stacksize *= 2; +#endif + if (VIR_ALLOC_N(stack, stacksize) < 0) { DEBUG0("Unable to allocate stack"); return -1; } - childStack = stack + (getpagesize() * 4); + childStack = stack + stacksize; +#ifdef __ia64__ + cpid = __clone2(lxcContainerDummyChild, stack, stacksize, flags, NULL); +#else cpid = clone(lxcContainerDummyChild, childStack, flags, NULL); +#endif VIR_FREE(stack); if (cpid < 0) { DEBUG("clone call returned %s, container support is not enabled",
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor