diff --git a/src/qemu/qemu_cgroup.c b/src/qemu/qemu_cgroup.c index 7e88a67d3fe0459b37a6f74ca9a9fc435f49e132..6f075fb8a9fa84d27f87bc61505a3498741499b0 100644 --- a/src/qemu/qemu_cgroup.c +++ b/src/qemu/qemu_cgroup.c @@ -43,16 +43,18 @@ static const char *const defaultDeviceACL[] = { #define DEVICE_PTY_MAJOR 136 #define DEVICE_SND_MAJOR 116 -int qemuCgroupControllerActive(struct qemud_driver *driver, - int controller) +bool qemuCgroupControllerActive(struct qemud_driver *driver, + int controller) { if (driver->cgroup == NULL) - return 0; + return false; if (!virCgroupMounted(driver->cgroup, controller)) - return 0; + return false; + if (controller < 0 || controller >= VIR_CGROUP_CONTROLLER_LAST) + return false; if (driver->cgroupControllers & (1 << controller)) - return 1; - return 0; + return true; + return false; } static int @@ -312,7 +314,7 @@ int qemuSetupCgroup(struct qemud_driver *driver, if (vm->def->mem.hard_limit != 0 || vm->def->mem.soft_limit != 0 || vm->def->mem.swap_hard_limit != 0) { - if ((rc = qemuCgroupControllerActive(driver, VIR_CGROUP_CONTROLLER_MEMORY))) { + if (qemuCgroupControllerActive(driver, VIR_CGROUP_CONTROLLER_MEMORY)) { if (vm->def->mem.hard_limit != 0) { rc = virCgroupSetMemoryHardLimit(cgroup, vm->def->mem.hard_limit); if (rc != 0) { diff --git a/src/qemu/qemu_cgroup.h b/src/qemu/qemu_cgroup.h index 299bd2d171c0fc63fecf1de14cbf8a5c211f8be0..e8abfb4ad8c94e1649b6c1a30f92eb33e6448bfa 100644 --- a/src/qemu/qemu_cgroup.h +++ b/src/qemu/qemu_cgroup.h @@ -34,8 +34,8 @@ struct _qemuCgroupData { }; typedef struct _qemuCgroupData qemuCgroupData; -int qemuCgroupControllerActive(struct qemud_driver *driver, - int controller); +bool qemuCgroupControllerActive(struct qemud_driver *driver, + int controller); int qemuSetupDiskCgroup(struct qemud_driver *driver, virDomainObjPtr vm, virCgroupPtr cgroup,