qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] [PATCH 3/3] Enable migration without shared storage from th


From: lirans
Subject: [Qemu-devel] [PATCH 3/3] Enable migration without shared storage from the monitor
Date: Thu, 10 Sep 2009 13:23:55 +0300

This patch adds the option to activate non-shared storage migration from the
monitor.
The migration command is as follows:
(qemu) migrate -d tcp:0:4444 # for ordinary live migration
(qemu) migrate -d blk tcp:0:4444 # for live migration with complete storage copy
(qemu) migrate -d blk inc tcp:0:4444 # for live migration with incremental 
storage copy, storage is cow based.

diff --git a/monitor.c b/monitor.c
index 8d5165c..c8a6228 100644
--- a/monitor.c
+++ b/monitor.c
@@ -37,6 +37,7 @@
 #include "readline.h"
 #include "console.h"
 #include "block.h"
+#include "block-migration.h"
 #include "audio/audio.h"
 #include "disas.h"
 #include "balloon.h"
@@ -2507,6 +2508,24 @@ static void monitor_handle_command(Monitor *mon, const 
char *cmdline)
                         goto add_str;
                     }
                 }
+
+               if (*typestr == '!') {
+                   char flag[4];
+                   char * cmd_flag;
+                   typestr++;
+                    memcpy(flag, typestr, 3);
+                   typestr += 3;
+                   flag[4] = '\0';
+                   
+                   cmd_flag = strstr(p, flag);
+                   if (cmd_flag != p) {
+                        /* no optional string: NULL argument */
+                       str = NULL;
+                        goto add_str;
+                    }
+                   
+                }
+               
                 ret = get_str(buf, sizeof(buf), &p);
                 if (ret < 0) {
                     switch(c) {
diff --git a/qemu-monitor.hx b/qemu-monitor.hx
index dea0704..e466774 100644
--- a/qemu-monitor.hx
+++ b/qemu-monitor.hx
@@ -463,8 +463,8 @@ STEXI
 Inject an NMI on the given CPU (x86 only).
 ETEXI
 
-    { "migrate", "-ds", do_migrate,
-      "[-d] uri", "migrate to URI (using -d to not wait for completion)" },
+    { "migrate", "-ds!blks!incs", do_migrate,
+        "[-d] [blk] [inc] uri", "migrate to URI (using -d - to not wait 
\n\t\tfor completion,\n\t\t [blk] -  for migration without shared 
storage,\n\t\t [inc] - for incremental migration if base image is identical)" },
 STEXI
 @item migrate [-d] @var{uri}
 Migrate to @var{uri} (using -d to not wait for completion).




reply via email to

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