For qemu upgrade and restart, we will re-exec() qemu with the same argv.
However, qemu must start in a paused state and wait for the cprload command,
and the original argv might not contain the -S option.  To avoid modifying
argv, provide the QEMU_START_FREEZE environment variable.  If
QEMU_START_FREEZE is set, then set autostart=0, like the -S option.

Signed-off-by: Steve Sistare <steven.sist...@oracle.com>
---
 softmmu/vl.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/softmmu/vl.c b/softmmu/vl.c
index 951994f..7016e39 100644
--- a/softmmu/vl.c
+++ b/softmmu/vl.c
@@ -4501,6 +4501,11 @@ void qemu_init(int argc, char **argv, char **envp)
         exit(0);
     }
 
+    if (getenv("QEMU_START_FREEZE")) {
+        unsetenv("QEMU_START_FREEZE");
+        autostart = 0;
+    }
+
     if (incoming) {
         Error *local_err = NULL;
         qemu_start_incoming_migration(incoming, &local_err);
-- 
1.8.3.1


Reply via email to