]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu: update qemuCgroupControllerActive signature
authorEric Blake <eblake@redhat.com>
Tue, 3 May 2011 20:19:06 +0000 (14:19 -0600)
committerEric Blake <eblake@redhat.com>
Wed, 4 May 2011 15:35:47 +0000 (09:35 -0600)
Clang warned about a dead assignment.  In the process, I noticed
that we are only using the function for a bool value.  I audited
all other callers in qemu_{migration,cgroup,driver,hotplug), and
all were making the call in a bool context.

Also, do bounds checking on the argument.

* src/qemu/qemu_cgroup.c (qemuSetupCgroup): Delete dead
assignment.
(qemuCgroupControllerActive): Change return type to bool.
* src/qemu/qemu_cgroup.h (qemuCgroupControllerActive): Likewise.

src/qemu/qemu_cgroup.c
src/qemu/qemu_cgroup.h

index 7e88a67d3fe0459b37a6f74ca9a9fc435f49e132..6f075fb8a9fa84d27f87bc61505a3498741499b0 100644 (file)
@@ -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) {
index 299bd2d171c0fc63fecf1de14cbf8a5c211f8be0..e8abfb4ad8c94e1649b6c1a30f92eb33e6448bfa 100644 (file)
@@ -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,