diff mbox

[v2] vl: change runstate only if new state is different from current state

Message ID 1460604352-18630-1-git-send-email-lizhijian@cn.fujitsu.com (mailing list archive)
State New, archived
Headers show

Commit Message

Li Zhijian April 14, 2016, 3:25 a.m. UTC
Previously, qemu will abort at following scenario:
(qemu) stop
(qemu) system_reset
(qemu) system_reset
(qemu) 2016-04-13T20:54:38.979158Z qemu-system-x86_64: invalid runstate transition: 'prelaunch' -> 'prelaunch'

Signed-off-by: Li Zhijian <lizhijian@cn.fujitsu.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
---
from v1
- fix patch title typo 'chanage' -> 'change'
- coding sytle: 'return ;' -> 'return;'
- add Acked tag
 vl.c | 4 ++++
 1 file changed, 4 insertions(+)

Comments

Li Zhijian April 27, 2016, 1:48 a.m. UTC | #1
ping...


Thanks
Li Zhijian

On 04/14/2016 11:25 AM, Li Zhijian wrote:
> Previously, qemu will abort at following scenario:
> (qemu) stop
> (qemu) system_reset
> (qemu) system_reset
> (qemu) 2016-04-13T20:54:38.979158Z qemu-system-x86_64: invalid runstate transition: 'prelaunch' -> 'prelaunch'
>
> Signed-off-by: Li Zhijian <lizhijian@cn.fujitsu.com>
> Acked-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
> from v1
> - fix patch title typo 'chanage' -> 'change'
> - coding sytle: 'return ;' -> 'return;'
> - add Acked tag
>   vl.c | 4 ++++
>   1 file changed, 4 insertions(+)
>
> diff --git a/vl.c b/vl.c
> index 9df534f..039a353 100644
> --- a/vl.c
> +++ b/vl.c
> @@ -692,6 +692,10 @@ void runstate_set(RunState new_state)
>   {
>       assert(new_state < RUN_STATE__MAX);
>
> +    if (current_run_state == new_state) {
> +        return;
> +    }
> +
>       if (!runstate_valid_transitions[current_run_state][new_state]) {
>           error_report("invalid runstate transition: '%s' -> '%s'",
>                        RunState_lookup[current_run_state],
>
Paolo Bonzini May 10, 2016, 9:25 a.m. UTC | #2
On 14/04/2016 05:25, Li Zhijian wrote:
> Previously, qemu will abort at following scenario:
> (qemu) stop
> (qemu) system_reset
> (qemu) system_reset
> (qemu) 2016-04-13T20:54:38.979158Z qemu-system-x86_64: invalid runstate transition: 'prelaunch' -> 'prelaunch'
> 
> Signed-off-by: Li Zhijian <lizhijian@cn.fujitsu.com>
> Acked-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
> from v1
> - fix patch title typo 'chanage' -> 'change'
> - coding sytle: 'return ;' -> 'return;'
> - add Acked tag
>  vl.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/vl.c b/vl.c
> index 9df534f..039a353 100644
> --- a/vl.c
> +++ b/vl.c
> @@ -692,6 +692,10 @@ void runstate_set(RunState new_state)
>  {
>      assert(new_state < RUN_STATE__MAX);
>  
> +    if (current_run_state == new_state) {
> +        return;
> +    }
> +
>      if (!runstate_valid_transitions[current_run_state][new_state]) {
>          error_report("invalid runstate transition: '%s' -> '%s'",
>                       RunState_lookup[current_run_state],
> 

Queued for 2.7, and added Cc: qemu-stable@nongnu.org.

Thanks,

Paolo
diff mbox

Patch

diff --git a/vl.c b/vl.c
index 9df534f..039a353 100644
--- a/vl.c
+++ b/vl.c
@@ -692,6 +692,10 @@  void runstate_set(RunState new_state)
 {
     assert(new_state < RUN_STATE__MAX);
 
+    if (current_run_state == new_state) {
+        return;
+    }
+
     if (!runstate_valid_transitions[current_run_state][new_state]) {
         error_report("invalid runstate transition: '%s' -> '%s'",
                      RunState_lookup[current_run_state],