[Pkg-libvirt-maintainers] Bug#566180: Bug#566180: virsh can define lxc domain but does not list nor properly start it
Guido Günther
agx at sigxcpu.org
Thu Oct 14 20:58:23 UTC 2010
On Thu, Oct 14, 2010 at 10:02:30PM +0200, Guido Günther wrote:
> On Thu, Oct 14, 2010 at 07:32:58PM +0200, Guido Günther wrote:
> > > 12:33:06.252: error : lxcSetContainerResources:109 : Unable to set memory
> > > limit for domain vm0: No such file or directory
> Nevermind. I can reproduce this now.
The file missing is memory.limit_in_bytes which needs
CONFIG_RESOURCE_COUNTERS=y
CONFIG_CGROUP_MEM_RES_CTLR=y
wich we don't have in Squeeze. This fixes it by ignoring errors due to
memory limit setting:
--- libvirt-0.8.3.orig/src/util/cgroup.c
+++ libvirt-0.8.3/src/util/cgroup.c
@@ -870,6 +870,8 @@ int virCgroupGetMemoryUsage(virCgroupPtr
"memory.usage_in_bytes", &usage_in_bytes);
if (ret == 0)
*kb = (unsigned long) usage_in_bytes >> 10;
+ else
+ *kb = 0;
return ret;
}
--- libvirt-0.8.3.orig/src/lxc/lxc_driver.c
+++ libvirt-0.8.3/src/lxc/lxc_driver.c
@@ -516,7 +516,6 @@ static int lxcDomainGetInfo(virDomainPtr
if (virCgroupGetMemoryUsage(cgroup, &(info->memory)) < 0) {
lxcError(VIR_ERR_OPERATION_FAILED,
"%s", _("Cannot read memory usage for domain"));
- goto cleanup;
}
}
--- libvirt-0.8.3.orig/src/lxc/lxc_controller.c
+++ libvirt-0.8.3/src/lxc/lxc_controller.c
@@ -107,7 +107,6 @@ static int lxcSetContainerResources(virD
virReportSystemError(-rc,
_("Unable to set memory limit for domain %s"),
def->name);
- goto cleanup;
}
rc = virCgroupDenyAllDevices(cgroup);
Works here now.
-- Guido
More information about the Pkg-libvirt-maintainers
mailing list