From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:36685) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VJMXf-0008P0-Fa for qemu-devel@nongnu.org; Tue, 10 Sep 2013 07:55:40 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VJMXW-0001b1-Lf for qemu-devel@nongnu.org; Tue, 10 Sep 2013 07:55:34 -0400 Received: from mx1.redhat.com ([209.132.183.28]:63328) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VJMXW-0001ag-Dw for qemu-devel@nongnu.org; Tue, 10 Sep 2013 07:55:26 -0400 From: Juan Quintela In-Reply-To: <1378784607-7398-3-git-send-email-junqing.wang@cs2c.com.cn> (Jules Wang's message of "Tue, 10 Sep 2013 11:43:25 +0800") References: <1378784607-7398-1-git-send-email-junqing.wang@cs2c.com.cn> <1378784607-7398-3-git-send-email-junqing.wang@cs2c.com.cn> Date: Tue, 10 Sep 2013 15:57:27 +0200 Message-ID: <87eh8weq48.fsf@elfo.elfo> MIME-Version: 1.0 Content-Type: text/plain Subject: Re: [Qemu-devel] [PATCH RFC 2/4] Curling: cmdline interface Reply-To: quintela@redhat.com List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Jules Wang Cc: pbonzini@redhat.com, qemu-devel@nongnu.org, stefanha@redhat.com, owasserm@redhat.com Jules Wang wrote: > Parse the word 'curling' when incoming/outgoing migration is > starting. So we know whether to enable fault tolerant or not. > > Signed-off-by: Jules Wang > --- > include/migration/migration.h | 2 ++ > migration.c | 16 ++++++++++++++++ > 2 files changed, 18 insertions(+) > > diff --git a/include/migration/migration.h b/include/migration/migration.h > index 140e6b4..4cbb62f 100644 > --- a/include/migration/migration.h > +++ b/include/migration/migration.h > @@ -162,4 +162,6 @@ size_t ram_control_save_page(QEMUFile *f, ram_addr_t block_offset, > ram_addr_t offset, size_t size, > int *bytes_sent); > > +bool ft_enabled(void); > + > #endif > diff --git a/migration.c b/migration.c > index 200d404..59c8f32 100644 > --- a/migration.c > +++ b/migration.c > @@ -58,6 +58,12 @@ enum { > static NotifierList migration_state_notifiers = > NOTIFIER_LIST_INITIALIZER(migration_state_notifiers); > > +static bool ft_mode; > +bool ft_enabled(void) > +{ > + return ft_mode; Shouldn't this be in migration_state? Just wondering. And yes, I don't see either a trivial place how to get it. get_current_migration()? > +} > + > /* When we add fault tolerance, we could have several > migrations at once. For now we don't need to add > dynamic creation of migration */ > @@ -78,6 +84,11 @@ void qemu_start_incoming_migration(const char *uri, Error **errp) > { > const char *p; > > + if (strstart(uri, "curling:", &p)) { > + ft_mode = true; > + uri = p; > + } > + Syntax is at least weird: curling:tcp:foo:9999 curling+tcp:foo:9999 could be better? Suggestions folks? notice that we still need more things: tcp+tls should happen at some time soon. This is not related with this patch. > if (strstart(uri, "tcp:", &p)) > tcp_start_incoming_migration(p, errp); > #ifdef CONFIG_RDMA > @@ -420,6 +431,11 @@ void qmp_migrate(const char *uri, bool has_blk, bool blk, > > s = migrate_init(¶ms); > > + if (strstart(uri, "curling:", &p)) { > + ft_mode = true; > + uri = p; > + } > + > if (strstart(uri, "tcp:", &p)) { > tcp_start_outgoing_migration(s, p, &local_err); > #ifdef CONFIG_RDMA