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

Christian Borntraeger borntraeger at de.ibm.com
Wed Sep 15 09:45:11 UTC 2021


On 24.08.21 16:44, Peter Krempa wrote:
> 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>

NACK. It is a perfectly sane usecase to have "preserve" on a crash. The qemu
will simply sit in that state and the user can then do virsh dump or similar.


> ---
>   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;
>   }
> 




More information about the libvir-list mailing list