qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 3/9] runstate: Add runstate store


From: Denis V. Lunev
Subject: Re: [Qemu-devel] [PATCH 3/9] runstate: Add runstate store
Date: Mon, 18 May 2015 13:38:32 +0300
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.6.0

On 14/05/15 19:28, Juan Quintela wrote:
This allows us to store the current state to send it through migration.

Signed-off-by: Juan Quintela <address@hidden>
---
  include/sysemu/sysemu.h |  1 +
  vl.c                    | 11 +++++++++++
  2 files changed, 12 insertions(+)

diff --git a/include/sysemu/sysemu.h b/include/sysemu/sysemu.h
index 8a52934..c1a403e 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 15bccc4..7dca13f 100644
--- a/vl.c
+++ b/vl.c
@@ -609,6 +609,17 @@ 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;


minor. why to call strlen() twice?

if you have the length in hand it would be better to call
memcpy to copy data.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]