]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
virDomainDriverAutoShutdownDoSave: Don't attempt to save transient VMs
authorPeter Krempa <pkrempa@redhat.com>
Thu, 3 Jul 2025 12:18:46 +0000 (14:18 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Tue, 8 Jul 2025 12:51:44 +0000 (14:51 +0200)
Commit 84bb136c31e added code that intended to skip the save of
transient domains but did so only in the setup part where we pause the
VMS. The second loop that actually attempts to save the VM was not
modified so we'd still try saving them:

 Jul 03 14:15:13 andariel virtqemud[247210]: auto-shutdown: unable to perform managed save of 'cd3': Requested operation is not valid: cannot do managed save for transient domain

Fixes: 84bb136c31e
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>
src/hypervisor/domain_driver.c

index cce6c64d1b43a879e9049c843a5080b55ea35bfa..d8ccee40d54c055abb47c2590c48c881f58d0baa 100644 (file)
@@ -779,6 +779,10 @@ virDomainDriverAutoShutdownDoSave(virDomainPtr *domains,
     }
 
     for (i = 0; i < numDomains; i++) {
+        if ((transient[i] && cfg->trySave == VIR_DOMAIN_DRIVER_AUTO_SHUTDOWN_SCOPE_PERSISTENT) ||
+            (!transient[i] && cfg->trySave == VIR_DOMAIN_DRIVER_AUTO_SHUTDOWN_SCOPE_TRANSIENT))
+            continue;
+
         virSystemdNotifyStatus("Saving '%s' (%zu of %zu)",
                                virDomainGetName(domains[i]), i + 1, numDomains);
         VIR_INFO("Saving '%s'", virDomainGetName(domains[i]));