From: Nikunj A. Dadhania Date: Tue, 12 Oct 2010 16:14:44 +0000 (+0200) Subject: Adding memtunables to libvirt-lxc command X-Git-Tag: v0.8.5~165 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=809e143004d29e4ca92d19ca1393bc520a3f7178;p=thirdparty%2Flibvirt.git Adding memtunables to libvirt-lxc command libvirt-lxc now configures the hardlimit, softlimit and swaplimit, if specified in the domain xml file or picks up the defaults. --- diff --git a/src/lxc/lxc_controller.c b/src/lxc/lxc_controller.c index 82ecce0de8..20616b8673 100644 --- a/src/lxc/lxc_controller.c +++ b/src/lxc/lxc_controller.c @@ -110,6 +110,36 @@ static int lxcSetContainerResources(virDomainDefPtr def) goto cleanup; } + if(def->mem.hard_limit) { + rc = virCgroupSetMemoryHardLimit(cgroup, def->mem.hard_limit); + if (rc != 0) { + virReportSystemError(-rc, + _("Unable to set memory hard limit for domain %s"), + def->name); + goto cleanup; + } + } + + if(def->mem.soft_limit) { + rc = virCgroupSetMemorySoftLimit(cgroup, def->mem.soft_limit); + if (rc != 0) { + virReportSystemError(-rc, + _("Unable to set memory soft limit for domain %s"), + def->name); + goto cleanup; + } + } + + if(def->mem.swap_hard_limit) { + rc = virCgroupSetSwapHardLimit(cgroup, def->mem.swap_hard_limit); + if (rc != 0) { + virReportSystemError(-rc, + _("Unable to set swap hard limit for domain %s"), + def->name); + goto cleanup; + } + } + rc = virCgroupDenyAllDevices(cgroup); if (rc != 0) { virReportSystemError(-rc,