[PATCH 07/22] qemu: Reject 'preserve' action for 'on_reboot'/'on_poweroff'/'on_crash'

Peter Krempa pkrempa at redhat.com
Tue Aug 24 14:44:28 UTC 2021


The qemu driver didn't ever implement any meaningful handling for the
'preserve' action.

Forbid the flag in the qemu def validator and update the documentation
to be factual.

Signed-off-by: Peter Krempa <pkrempa at redhat.com>
---
 docs/formatdomain.rst    |  3 +--
 src/qemu/qemu_validate.c | 10 ++++++++++
 2 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/docs/formatdomain.rst b/docs/formatdomain.rst
index fba4765e35..a894a51c00 100644
--- a/docs/formatdomain.rst
+++ b/docs/formatdomain.rst
@@ -1747,8 +1747,7 @@ Each of these states allow for the same four possible actions.
    supported by the libxl hypervisor driver.)

 QEMU/KVM supports the ``on_poweroff`` and ``on_reboot`` events handling the
-``destroy`` and ``restart`` actions. The ``preserve`` action for an
-``on_reboot`` event is treated as a ``destroy``.
+``destroy`` and ``restart`` actions.

 The ``on_crash`` event supports these additional actions :since:`since 0.8.4` .

diff --git a/src/qemu/qemu_validate.c b/src/qemu/qemu_validate.c
index 7bd8d8d9e7..d27c3b6c6c 100644
--- a/src/qemu/qemu_validate.c
+++ b/src/qemu/qemu_validate.c
@@ -1079,6 +1079,16 @@ qemuValidateLifecycleAction(virDomainLifecycleAction onPoweroff,
         return -1;
     }

+    /* The qemu driver doesn't yet implement any meaningful handling for
+     * VIR_DOMAIN_LIFECYCLE_ACTION_PRESERVE */
+    if (onPoweroff == VIR_DOMAIN_LIFECYCLE_ACTION_PRESERVE ||
+        onReboot == VIR_DOMAIN_LIFECYCLE_ACTION_PRESERVE ||
+        onCrash == VIR_DOMAIN_LIFECYCLE_ACTION_PRESERVE) {
+        virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
+                       _("qemu driver doesn't support the 'preserve' action for 'on_reboot'/'on_poweroff'/'on_crash'"));
+        return -1;
+    }
+
     return 0;
 }

-- 
2.31.1




More information about the libvir-list mailing list