runstate: Add runstate store

This allows us to store the current state to send it through migration.

Signed-off-by: Juan Quintela <quintela@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
This commit is contained in:
Juan Quintela 2014-10-08 11:53:22 +02:00
parent ff14e817f6
commit 5e0f1940ca
2 changed files with 13 additions and 0 deletions

View File

@ -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);
bool runstate_store(char *str, size_t size);
typedef struct vm_change_state_entry VMChangeStateEntry;
typedef void VMChangeStateHandler(void *opaque, int running, RunState state);

12
vl.c
View File

@ -634,6 +634,18 @@ bool runstate_check(RunState state)
return current_run_state == state;
}
bool runstate_store(char *str, size_t size)
{
const char *state = RunState_lookup[current_run_state];
size_t len = strlen(state) + 1;
if (len > size) {
return false;
}
memcpy(str, state, len);
return true;
}
static void runstate_init(void)
{
const RunStateTransition *p;