diff mbox

[18/18] Introduce "kemari:" to enable FT migration mode (Kemari).

Message ID 1300853426-7054-19-git-send-email-tamura.yoshiaki@lab.ntt.co.jp
State New
Headers show

Commit Message

Yoshiaki Tamura March 23, 2011, 4:10 a.m. UTC
When "kemari:" is set in front of URI of migrate command, it will turn
on ft_mode to start FT migration mode (Kemari).  On the receiver side,
the option looks like, -incoming kemari:<protocol>:<address>:<port>

Signed-off-by: Yoshiaki Tamura <tamura.yoshiaki@lab.ntt.co.jp>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
---
 hmp-commands.hx |    4 +++-
 migration.c     |   12 ++++++++++++
 qmp-commands.hx |    4 +++-
 3 files changed, 18 insertions(+), 2 deletions(-)
diff mbox

Patch

diff --git a/hmp-commands.hx b/hmp-commands.hx
index 834e6a8..4cd7bfa 100644
--- a/hmp-commands.hx
+++ b/hmp-commands.hx
@@ -760,7 +760,9 @@  ETEXI
 		      "\n\t\t\t -b for migration without shared storage with"
 		      " full copy of disk\n\t\t\t -i for migration without "
 		      "shared storage with incremental copy of disk "
-		      "(base image shared between src and destination)",
+		      "(base image shared between src and destination)"
+		      "\n\t\t\t put \"kemari:\" in front of URI to enable "
+		      "Fault Tolerance mode (Kemari protocol)",
         .user_print = monitor_user_noop,	
 	.mhandler.cmd_new = do_migrate,
     },
diff --git a/migration.c b/migration.c
index d536df0..5017dea 100644
--- a/migration.c
+++ b/migration.c
@@ -48,6 +48,12 @@  int qemu_start_incoming_migration(const char *uri)
     const char *p;
     int ret;
 
+    /* check ft_mode (Kemari protocol) */
+    if (strstart(uri, "kemari:", &p)) {
+        ft_mode = FT_INIT;
+        uri = p;
+    }
+
     if (strstart(uri, "tcp:", &p))
         ret = tcp_start_incoming_migration(p);
 #if !defined(WIN32)
@@ -99,6 +105,12 @@  int do_migrate(Monitor *mon, const QDict *qdict, QObject **ret_data)
         return -1;
     }
 
+    /* check ft_mode (Kemari protocol) */
+    if (strstart(uri, "kemari:", &p)) {
+        ft_mode = FT_INIT;
+        uri = p;
+    }
+
     if (strstart(uri, "tcp:", &p)) {
         s = tcp_start_outgoing_migration(mon, p, max_throttle, detach,
                                          blk, inc);
diff --git a/qmp-commands.hx b/qmp-commands.hx
index fbd98ee..71e4f0e 100644
--- a/qmp-commands.hx
+++ b/qmp-commands.hx
@@ -437,7 +437,9 @@  EQMP
 		      "\n\t\t\t -b for migration without shared storage with"
 		      " full copy of disk\n\t\t\t -i for migration without "
 		      "shared storage with incremental copy of disk "
-		      "(base image shared between src and destination)",
+		      "(base image shared between src and destination)"
+		      "\n\t\t\t put \"kemari:\" in front of URI to enable "
+		      "Fault Tolerance mode (Kemari protocol)",
         .user_print = monitor_user_noop,	
 	.mhandler.cmd_new = do_migrate,
     },