This allows us to store the current state to send it through migration. Signed-off-by: Juan Quintela <quint...@redhat.com> --- include/sysemu/sysemu.h | 1 + vl.c | 10 ++++++++++ 2 files changed, 11 insertions(+)
diff --git a/include/sysemu/sysemu.h b/include/sysemu/sysemu.h index d8539fd..ae217da 100644 --- a/include/sysemu/sysemu.h +++ b/include/sysemu/sysemu.h @@ -28,6 +28,7 @@ bool runstate_check(RunState state); void runstate_set(RunState new_state); int runstate_is_running(void); bool runstate_needs_reset(void); +int runstate_store(char *str, int size); typedef struct vm_change_state_entry VMChangeStateEntry; typedef void VMChangeStateHandler(void *opaque, int running, RunState state); diff --git a/vl.c b/vl.c index 964d634..ce8e28b 100644 --- a/vl.c +++ b/vl.c @@ -677,6 +677,16 @@ bool runstate_check(RunState state) return current_run_state == state; } +int runstate_store(char *str, int size) +{ + const char *state = RunState_lookup[current_run_state]; + + if (strlen(state)+1 > size) + return -1; + strncpy(str, state, strlen(state)+1); + return 0; +} + static void runstate_init(void) { const RunStateTransition *p; -- 2.1.0