qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v3] qmp: return err msg when powerdown a vm when


From: Markus Armbruster
Subject: Re: [Qemu-devel] [PATCH v3] qmp: return err msg when powerdown a vm when it isn't in running state
Date: Mon, 18 Jan 2016 14:50:50 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)

Qinghua Jin <address@hidden> writes:

> When send system_powerdown to QMP when the vm isn't in RUN_STATE_RUNNING,
> it will be ignored by system. So reply a err msg with the situation.
>
> Signed-off-by: Qinghua Jin <address@hidden>
> ---
>
> This is an update of the patch as per Fam Zheng's suggestion:
>   http://lists.gnu.org/archive/html/qemu-devel/2015-12/msg03949.html
>
>  qmp.c | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/qmp.c b/qmp.c
> index 0a1fa19..384df56 100644
> --- a/qmp.c
> +++ b/qmp.c
> @@ -114,8 +114,13 @@ void qmp_system_reset(Error **errp)
>      qemu_system_reset_request();
>  }
>  
> -void qmp_system_powerdown(Error **erp)
> +void qmp_system_powerdown(Error **errp)
>  {
> +    if (!runstate_check(RUN_STATE_RUNNING)) {
> +        error_setg(errp,
> +                   "Can not powerdown virtual machine as it is not running");
> +        return;
> +    }
>      qemu_system_powerdown_request();
>  }

This is the handler for QMP command system_powerdown.  The patch makes
the QMP command fail in run states other than RUN_STATE_RUNNING.

There are other callers: the HMP command handler hmp_system_powerdown(),
GTK's gd_menu_powerdown(), Cocoa's powerDownQEMU().  They all ignore the
error.  Why is that appropriate?

qemu_system_powerdown_request() sets powerdown_requested = 1.  This
makes the next qemu_powerdown_requested() return 1.  Gets called only by
main_loop_should_exit().  I can't quite see how "it will be ignored by
system" when we're in RUN_STATE_RUNNING.  Can you explain?



reply via email to

[Prev in Thread] Current Thread [Next in Thread]