Patchwork do not reset no_shutdown after we shutdown the vm

login
register
mail settings
Submitter Wen Congyang
Date June 17, 2011, 2:25 a.m.
Message ID <4DFABB12.4050101@cn.fujitsu.com>
Download mbox | patch
Permalink /patch/100756/
State New
Headers show

Comments

Wen Congyang - June 17, 2011, 2:25 a.m.
Daniel P. Berrange sent a libvirt's patch to support
reboots with the QEMU driver. He implements it in
json model like this:
1. add -no-shutdown in the qemu's option:
   qemu -no-shutdown xxxx
2. shutdown the vm by monitor command system_powerdown
3. wait for shutdown event
4. reset the vm by monitor command system_reset

no_shutdown will be reset to 0 if the vm is powered down.
We only can reboot the vm once.

If no_shutdown is not reset to 0, we can reboot the vm
many times.

Signed-off-by: Wen Congyang <wency@cn.fujitsu.com>

---
 vl.c |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)
Anthony Liguori - July 23, 2011, 4:51 p.m.
On 06/16/2011 09:25 PM, Wen Congyang wrote:
> Daniel P. Berrange sent a libvirt's patch to support
> reboots with the QEMU driver. He implements it in
> json model like this:
> 1. add -no-shutdown in the qemu's option:
>     qemu -no-shutdown xxxx
> 2. shutdown the vm by monitor command system_powerdown
> 3. wait for shutdown event
> 4. reset the vm by monitor command system_reset
>
> no_shutdown will be reset to 0 if the vm is powered down.
> We only can reboot the vm once.
>
> If no_shutdown is not reset to 0, we can reboot the vm
> many times.
>
> Signed-off-by: Wen Congyang<wency@cn.fujitsu.com>

Applied.  Thanks.

Regards,

Anthony Liguori

>
> ---
>   vl.c |    1 -
>   1 files changed, 0 insertions(+), 1 deletions(-)
>
> diff --git a/vl.c b/vl.c
> index dbdec71..e2e52ec 100644
> --- a/vl.c
> +++ b/vl.c
> @@ -1396,7 +1396,6 @@ static void main_loop(void)
>               monitor_protocol_event(QEVENT_SHUTDOWN, NULL);
>               if (no_shutdown) {
>                   vm_stop(VMSTOP_SHUTDOWN);
> -                no_shutdown = 0;
>               } else
>                   break;
>           }

Patch

diff --git a/vl.c b/vl.c
index dbdec71..e2e52ec 100644
--- a/vl.c
+++ b/vl.c
@@ -1396,7 +1396,6 @@  static void main_loop(void)
             monitor_protocol_event(QEVENT_SHUTDOWN, NULL);
             if (no_shutdown) {
                 vm_stop(VMSTOP_SHUTDOWN);
-                no_shutdown = 0;
             } else
                 break;
         }