From: Michal Privoznik Date: Tue, 20 Aug 2013 09:04:18 +0000 (+0200) Subject: qemuSetupMemoryCgroup: Handle hard_limit properly X-Git-Tag: v1.1.2-rc1~74 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=94a24dd3a953f415596dd2800287c9010fa51c4c;p=thirdparty%2Flibvirt.git qemuSetupMemoryCgroup: Handle hard_limit properly Since 16bcb3 we have a regression. The hard_limit is set unconditionally. By default the limit is zero. Hence, if user hasn't configured any, we set the zero in cgroup subsystem making the kernel kill the corresponding qemu process immediately. The proper fix is to set hard_limit iff user has configured any. --- diff --git a/src/qemu/qemu_cgroup.c b/src/qemu/qemu_cgroup.c index 9673e8e7e5..e27945e7cf 100644 --- a/src/qemu/qemu_cgroup.c +++ b/src/qemu/qemu_cgroup.c @@ -428,7 +428,8 @@ qemuSetupMemoryCgroup(virDomainObjPtr vm) } } - if (virCgroupSetMemoryHardLimit(priv->cgroup, vm->def->mem.hard_limit) < 0) + if (vm->def->mem.hard_limit != 0 && + virCgroupSetMemoryHardLimit(priv->cgroup, vm->def->mem.hard_limit) < 0) return -1; if (vm->def->mem.soft_limit != 0 &&