if (flags & VIR_DOMAIN_AFFECT_CONFIG) {
/* Help clang 2.8 decipher the logic flow. */
sa_assert(persistentDef);
+
+ /* resizing memory with NUMA nodes specified doesn't work as there
+ * is no way to change the individual node sizes with this API */
+ if (virDomainNumaGetNodeCount(persistentDef->numa) > 0) {
+ virReportError(VIR_ERR_OPERATION_INVALID, "%s",
+ _("maximum memory size of a domain with NUMA "
+ "nodes cannot be modified with this API"));
+ goto endjob;
+ }
+
persistentDef->mem.max_balloon = newmem;
if (persistentDef->mem.cur_balloon > newmem)
persistentDef->mem.cur_balloon = newmem;
on hypervisor.
Some hypervisors such as QEMU/KVM don't support live changes (especially
-increasing) of the maximum memory limit.
+increasing) of the maximum memory limit. Even persistent configuration changes
+might not be performed with some hypervisors/configuration (e.g. on NUMA enabled
+domains on QEMU). For complex configuration changes use command B<edit>
+instead).
I<size> is a scaled integer (see B<NOTES> above); it defaults to kibibytes
(blocks of 1024 bytes) unless you provide a suffix (and the older option