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

login
register
mail settings
Submitter Yoshiaki Tamura
Date Feb. 10, 2011, 9:30 a.m.
Message ID <1297330258-20494-19-git-send-email-tamura.yoshiaki@lab.ntt.co.jp>
Download mbox | patch
Permalink /patch/82577/
State New
Headers show

Comments

Yoshiaki Tamura - Feb. 10, 2011, 9:30 a.m.
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>
---
 hmp-commands.hx |    4 +++-
 migration.c     |   12 ++++++++++++
 qmp-commands.hx |    4 +++-
 3 files changed, 18 insertions(+), 2 deletions(-)
Paolo Bonzini - Feb. 10, 2011, 9:52 a.m.
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.yoshiaki@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 <pbonzini@redhat.com>

Paolo

Patch

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,
     },