]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu: move memory size align to qemuProcessPrepareDomain()
authorDaniel Henrique Barboza <danielhb413@gmail.com>
Wed, 18 Nov 2020 18:12:51 +0000 (15:12 -0300)
committerDaniel Henrique Barboza <danielhb413@gmail.com>
Thu, 3 Dec 2020 20:19:35 +0000 (17:19 -0300)
qemuBuildCommandLine() is calling qemuDomainAlignMemorySizes(),
which is an operation that changes live XML and domain and has
little to do with the command line build process.

Move it to qemuProcessPrepareDomain() where we're supposed to
make live XML and domain changes before launch. qemuProcessStart()
is setting VIR_QEMU_PROCESS_START_NEW if !migrate && !snapshot,
same conditions used in qemuBuildCommandLine() to call
qemuDomainAlignMemorySizes(), making this change seamless.

Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
src/qemu/qemu_command.c
src/qemu/qemu_process.c

index 33f9b96bf87a316c3b7cd3b7eb10e86dc32f2005..5aff89188a95e275018fe1070689eaa9c0ec6063 100644 (file)
@@ -9841,9 +9841,6 @@ qemuBuildCommandLine(virQEMUDriverPtr driver,
 
     qemuBuildDomainLoaderCommandLine(cmd, def, qemuCaps);
 
-    if (!migrateURI && !snapshot && qemuDomainAlignMemorySizes(def) < 0)
-        return NULL;
-
     if (qemuBuildMemCommandLine(cmd, def, qemuCaps, priv) < 0)
         return NULL;
 
index 27a22c950df23dcb465fe593cc43d26c669b10ed..9d83825190f02bd59c64607769402544bdff6cc7 100644 (file)
@@ -6493,6 +6493,12 @@ qemuProcessPrepareDomain(virQEMUDriverPtr driver,
     if (qemuExtDevicesPrepareDomain(driver, vm) < 0)
         return -1;
 
+    if (flags & VIR_QEMU_PROCESS_START_NEW) {
+        VIR_DEBUG("Aligning guest memory");
+        if (qemuDomainAlignMemorySizes(vm->def) < 0)
+            return -1;
+    }
+
     for (i = 0; i < vm->def->nchannels; i++) {
         if (qemuDomainPrepareChannel(vm->def->channels[i],
                                      priv->channelTargetDir) < 0)