]> xenbits.xensource.com Git - libvirt.git/commitdiff
Add misc extra debugging into cgroups code
authorDaniel P. Berrange <berrange@redhat.com>
Wed, 3 Apr 2013 17:06:41 +0000 (18:06 +0100)
committerDaniel P. Berrange <berrange@redhat.com>
Mon, 15 Apr 2013 16:35:31 +0000 (17:35 +0100)
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
src/util/vircgroup.c

index e5af99d12c5868d387f05168d6b8ba3e2a2cfaaf..6ff767f27ed18b43c7c6423f3c137ea65194056c 100644 (file)
@@ -663,12 +663,18 @@ static int virCgroupMakeGroup(virCgroupPtr parent,
         char *path = NULL;
 
         /* Skip over controllers that aren't mounted */
-        if (!group->controllers[i].mountPoint)
+        if (!group->controllers[i].mountPoint) {
+            VIR_DEBUG("Skipping unmounted controller %s",
+                      virCgroupControllerTypeToString(i));
             continue;
+        }
 
         rc = virCgroupPathOfController(group, i, "", &path);
-        if (rc < 0)
+        if (rc < 0) {
+            VIR_DEBUG("Failed to find path of controller %s",
+                      virCgroupControllerTypeToString(i));
             return rc;
+        }
         /* As of Feb 2011, clang can't see that the above function
          * call did not modify group. */
         sa_assert(group->controllers[i].mountPoint);
@@ -682,11 +688,14 @@ static int virCgroupMakeGroup(virCgroupPtr parent,
                  * other controllers even though they are available. So
                  * treat blkio as unmounted if mkdir fails. */
                 if (i == VIR_CGROUP_CONTROLLER_BLKIO) {
+                    VIR_DEBUG("Ignoring mkdir failure with blkio controller. Kernel probably too old");
                     rc = 0;
                     VIR_FREE(group->controllers[i].mountPoint);
                     VIR_FREE(path);
                     continue;
                 } else {
+                    VIR_DEBUG("Failed to create controller %s for group",
+                              virCgroupControllerTypeToString(i));
                     rc = -errno;
                     VIR_FREE(path);
                     break;
@@ -720,6 +729,7 @@ static int virCgroupMakeGroup(virCgroupPtr parent,
         VIR_FREE(path);
     }
 
+    VIR_DEBUG("Done making controllers for group");
     return rc;
 }
 
@@ -904,6 +914,7 @@ int virCgroupRemove(virCgroupPtr group)
     int i;
     char *grppath = NULL;
 
+    VIR_DEBUG("Removing cgroup %s", group->path);
     for (i = 0 ; i < VIR_CGROUP_CONTROLLER_LAST ; i++) {
         /* Skip over controllers not mounted */
         if (!group->controllers[i].mountPoint)
@@ -919,6 +930,7 @@ int virCgroupRemove(virCgroupPtr group)
         rc = virCgroupRemoveRecursively(grppath);
         VIR_FREE(grppath);
     }
+    VIR_DEBUG("Done removing cgroup %s", group->path);
 
     return rc;
 }