On 02/10/2011 10:30 AM, Yoshiaki Tamura wrote:
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.yoshi...@lab.ntt.co.jp>
---
  hmp-commands.hx |    4 +++-
  migration.c     |   12 ++++++++++++
  qmp-commands.hx |    4 +++-
  3 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/hmp-commands.hx b/hmp-commands.hx
index 38e1eb7..ee14344 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 7837c55..a3f7722 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 df40a3d..68ca48a 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,
      },

Acked-by: Paolo Bonzini <pbonz...@redhat.com>

Paolo

Reply via email to