Skip to content
Snippets Groups Projects
Commit e9eb650c authored by Guido Günther's avatar Guido Günther
Browse files

New patch 0009-Don-t-fail-lxc-domain-start-when-memory-controller-s.patch

Don't fail lxc domain start when memory controller support is missing

Closes: #566180
parent 29e87141
No related branches found
No related tags found
No related merge requests found
From: =?UTF-8?q?Guido=20G=C3=BCnther?= <agx@sigxcpu.org>
Date: Fri, 15 Oct 2010 18:10:47 +0200
Subject: [PATCH] Don't fail lxc domain start when memory controller support is missing
Debian stock kernel has CONFIG_CGROUP_MEM_RES_CTLR disabled due to the
overhead [1]. Allow to start containers if the corresponding files in
the cgroup filesystem are missing.
[1] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=534964
Closes: #566180
---
src/lxc/lxc_controller.c | 4 +++-
src/lxc/lxc_driver.c | 11 ++++++++---
2 files changed, 11 insertions(+), 4 deletions(-)
diff --git a/src/lxc/lxc_controller.c b/src/lxc/lxc_controller.c
index 7dc51a5..6204763 100644
--- a/src/lxc/lxc_controller.c
+++ b/src/lxc/lxc_controller.c
@@ -107,7 +107,9 @@ static int lxcSetContainerResources(virDomainDefPtr def)
virReportSystemError(-rc,
_("Unable to set memory limit for domain %s"),
def->name);
- goto cleanup;
+ /* Don't fail if we can't set memory due to lack of kernel support */
+ if (rc != -ENOENT)
+ goto cleanup;
}
rc = virCgroupDenyAllDevices(cgroup);
diff --git a/src/lxc/lxc_driver.c b/src/lxc/lxc_driver.c
index 6fe20b1..4439a98 100644
--- a/src/lxc/lxc_driver.c
+++ b/src/lxc/lxc_driver.c
@@ -483,7 +483,7 @@ static int lxcDomainGetInfo(virDomainPtr dom,
lxc_driver_t *driver = dom->conn->privateData;
virDomainObjPtr vm;
virCgroupPtr cgroup = NULL;
- int ret = -1;
+ int ret = -1, rc;
lxcDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
@@ -513,10 +513,15 @@ static int lxcDomainGetInfo(virDomainPtr dom,
"%s", _("Cannot read cputime for domain"));
goto cleanup;
}
- if (virCgroupGetMemoryUsage(cgroup, &(info->memory)) < 0) {
+ if ((rc = virCgroupGetMemoryUsage(cgroup, &(info->memory))) < 0) {
lxcError(VIR_ERR_OPERATION_FAILED,
"%s", _("Cannot read memory usage for domain"));
- goto cleanup;
+ if (rc == -ENOENT) {
+ /* Don't fail if we can't read memory usage due to a lack of
+ * kernel support */
+ info->memory = 0;
+ } else
+ goto cleanup;
}
}
--
......@@ -6,3 +6,4 @@
0006-patch-qemuMonitorTextGetMigrationStatus-to-intercept.patch
0007-Fix-block-statistics-with-newer-versions-of-Xen.patch
0008-Disable-CHECKSUM-rule.patch
0009-Don-t-fail-lxc-domain-start-when-memory-controller-s.patch
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment