[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?
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [Qemu-devel] [PATCH v3] qmp: return err msg when powerdown a vm when it isn't in running state,
Markus Armbruster <=