]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu: Set placement when setting numa parameters
authorOsier Yang <jyang@redhat.com>
Tue, 28 Aug 2012 12:13:31 +0000 (20:13 +0800)
committerOsier Yang <jyang@redhat.com>
Wed, 29 Aug 2012 01:45:28 +0000 (09:45 +0800)
To keep the internal data structure consistent.

src/qemu/qemu_driver.c

index d74bf52449a2994be33cf1fcca367ae763b1b9b4..955744a0491266441d134dc33325ddb47c92c6b7 100644 (file)
@@ -7585,6 +7585,8 @@ qemuDomainSetNumaParameters(virDomainPtr dom,
                 }
 
                 vm->def->numatune.memory.nodemask = nodeset;
+                vm->def->numatune.memory.placement_mode =
+                    VIR_DOMAIN_NUMATUNE_MEM_PLACEMENT_MODE_STATIC;
             }
 
             if (flags & VIR_DOMAIN_AFFECT_CONFIG) {
@@ -7601,11 +7603,16 @@ qemuDomainSetNumaParameters(virDomainPtr dom,
                 }
 
                 persistentDef->numatune.memory.nodemask = nodeset;
+                persistentDef->numatune.memory.placement_mode =
+                    VIR_DOMAIN_NUMATUNE_MEM_PLACEMENT_MODE_STATIC;
             }
         }
     }
 
     if (flags & VIR_DOMAIN_AFFECT_CONFIG) {
+        if (!persistentDef->numatune.memory.placement_mode)
+            persistentDef->numatune.memory.placement_mode =
+                VIR_DOMAIN_NUMATUNE_MEM_PLACEMENT_MODE_AUTO;
         if (virDomainSaveConfig(driver->configDir, persistentDef) < 0)
             ret = -1;
     }