]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu: split out cpuset.mems setting
authorMartin Kletzander <mkletzan@redhat.com>
Tue, 8 Jul 2014 07:53:06 +0000 (09:53 +0200)
committerMartin Kletzander <mkletzan@redhat.com>
Wed, 16 Jul 2014 18:15:46 +0000 (20:15 +0200)
Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
src/qemu/qemu_cgroup.c

index 40fe448b3811ebf65c3ce9314cde97009ce77f93..e95ad17ddc92b27dd5b43132f86f5c92db1380ff 100644 (file)
@@ -589,13 +589,11 @@ qemuSetupDevicesCgroup(virQEMUDriverPtr driver,
 
 
 static int
-qemuSetupCpusetCgroup(virDomainObjPtr vm,
-                      virBitmapPtr nodemask,
-                      virCapsPtr caps)
+qemuSetupCpusetMems(virDomainObjPtr vm,
+                    virBitmapPtr nodemask)
 {
     qemuDomainObjPrivatePtr priv = vm->privateData;
     char *mem_mask = NULL;
-    char *cpu_mask = NULL;
     int ret = -1;
 
     if (!virCgroupHasController(priv->cgroup, VIR_CGROUP_CONTROLLER_CPUSET))
@@ -610,6 +608,28 @@ qemuSetupCpusetCgroup(virDomainObjPtr vm,
         virCgroupSetCpusetMems(priv->cgroup, mem_mask) < 0)
         goto cleanup;
 
+    ret = 0;
+ cleanup:
+    VIR_FREE(mem_mask);
+    return ret;
+}
+
+
+static int
+qemuSetupCpusetCgroup(virDomainObjPtr vm,
+                      virBitmapPtr nodemask,
+                      virCapsPtr caps)
+{
+    qemuDomainObjPrivatePtr priv = vm->privateData;
+    char *cpu_mask = NULL;
+    int ret = -1;
+
+    if (!virCgroupHasController(priv->cgroup, VIR_CGROUP_CONTROLLER_CPUSET))
+        return 0;
+
+    if (qemuSetupCpusetMems(vm, nodemask) < 0)
+        goto cleanup;
+
     if (vm->def->cpumask ||
         (vm->def->placement_mode == VIR_DOMAIN_CPU_PLACEMENT_MODE_AUTO)) {
 
@@ -632,7 +652,6 @@ qemuSetupCpusetCgroup(virDomainObjPtr vm,
 
     ret = 0;
  cleanup:
-    VIR_FREE(mem_mask);
     VIR_FREE(cpu_mask);
     return ret;
 }