I/O errors can occur while the VM is suspended, and we can continue from
a stop due to I/O error into suspension.  Allow these transitions.

Signed-off-by: Hanna Czenczek <[email protected]>
---
 system/runstate.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/system/runstate.c b/system/runstate.c
index 56bfc5b07da..7b3233f77f6 100644
--- a/system/runstate.c
+++ b/system/runstate.c
@@ -106,6 +106,7 @@ static const RunStateTransition runstate_transitions_def[] 
= {
     { RUN_STATE_IO_ERROR, RUN_STATE_RUNNING },
     { RUN_STATE_IO_ERROR, RUN_STATE_FINISH_MIGRATE },
     { RUN_STATE_IO_ERROR, RUN_STATE_PRELAUNCH },
+    { RUN_STATE_IO_ERROR, RUN_STATE_SUSPENDED },
 
     { RUN_STATE_PAUSED, RUN_STATE_RUNNING },
     { RUN_STATE_PAUSED, RUN_STATE_FINISH_MIGRATE },
@@ -173,6 +174,7 @@ static const RunStateTransition runstate_transitions_def[] 
= {
     { RUN_STATE_SUSPENDED, RUN_STATE_SAVE_VM },
     { RUN_STATE_SUSPENDED, RUN_STATE_RESTORE_VM },
     { RUN_STATE_SUSPENDED, RUN_STATE_SHUTDOWN },
+    { RUN_STATE_SUSPENDED, RUN_STATE_IO_ERROR },
 
     { RUN_STATE_WATCHDOG, RUN_STATE_RUNNING },
     { RUN_STATE_WATCHDOG, RUN_STATE_FINISH_MIGRATE },
-- 
2.55.0


Reply via email to