From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41185) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dBK61-0003xv-Kv for qemu-devel@nongnu.org; Thu, 18 May 2017 07:59:58 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dBK5y-0000N3-H3 for qemu-devel@nongnu.org; Thu, 18 May 2017 07:59:57 -0400 Received: from mx1.redhat.com ([209.132.183.28]:44100) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1dBK5y-0000Mv-72 for qemu-devel@nongnu.org; Thu, 18 May 2017 07:59:54 -0400 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 129BF18E3C7 for ; Thu, 18 May 2017 11:59:53 +0000 (UTC) Date: Thu, 18 May 2017 19:59:46 +0800 From: Peter Xu Message-ID: <20170518115946.GD24085@pxdev.xzpeter.org> References: <20170517154756.22079-1-quintela@redhat.com> <20170517154756.22079-3-quintela@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20170517154756.22079-3-quintela@redhat.com> Subject: Re: [Qemu-devel] [PATCH 2/9] migration: Split migration/channel.c for channel operations List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Juan Quintela Cc: qemu-devel@nongnu.org, dgilbert@redhat.com, lvivier@redhat.com On Wed, May 17, 2017 at 05:47:49PM +0200, Juan Quintela wrote: > Create an include for its exported functions. > > Signed-off-by: Juan Quintela Reviewed-by: Peter Xu > --- > include/migration/migration.h | 7 ----- > migration/Makefile.objs | 2 +- > migration/channel.c | 69 +++++++++++++++++++++++++++++++++++++++++++ > migration/channel.h | 25 ++++++++++++++++ > migration/exec.c | 1 + > migration/fd.c | 1 + > migration/migration.c | 50 ------------------------------- > migration/socket.c | 1 + > migration/tls.c | 1 + > 9 files changed, 99 insertions(+), 58 deletions(-) > create mode 100644 migration/channel.c > create mode 100644 migration/channel.h > > diff --git a/include/migration/migration.h b/include/migration/migration.h > index 7d1eef7..e831259 100644 > --- a/include/migration/migration.h > +++ b/include/migration/migration.h > @@ -157,17 +157,10 @@ void migration_fd_process_incoming(QEMUFile *f); > > void qemu_start_incoming_migration(const char *uri, Error **errp); > > -void migration_channel_process_incoming(MigrationState *s, > - QIOChannel *ioc); > - > void migration_tls_channel_process_incoming(MigrationState *s, > QIOChannel *ioc, > Error **errp); > > -void migration_channel_connect(MigrationState *s, > - QIOChannel *ioc, > - const char *hostname); > - > void migration_tls_channel_connect(MigrationState *s, > QIOChannel *ioc, > const char *hostname, > diff --git a/migration/Makefile.objs b/migration/Makefile.objs > index 00a3f4a..4e8ab0a 100644 > --- a/migration/Makefile.objs > +++ b/migration/Makefile.objs > @@ -1,5 +1,5 @@ > common-obj-y += migration.o socket.o fd.o exec.o > -common-obj-y += tls.o > +common-obj-y += tls.o channel.o > common-obj-y += colo-comm.o colo.o colo-failover.o > common-obj-y += vmstate.o page_cache.o > common-obj-y += qemu-file.o > diff --git a/migration/channel.c b/migration/channel.c > new file mode 100644 > index 0000000..6104de5 > --- /dev/null > +++ b/migration/channel.c > @@ -0,0 +1,69 @@ > +/* > + * QEMU live migration > + * > + * Copyright IBM, Corp. 2008 > + * > + * Authors: > + * Anthony Liguori > + * > + * This work is licensed under the terms of the GNU GPL, version 2. See > + * the COPYING file in the top-level directory. > + * > + * Contributions after 2012-01-13 are licensed under the terms of the > + * GNU GPL, version 2 or (at your option) any later version. > + */ > + > +#include "qemu/osdep.h" > +#include "channel.h" > +#include "migration/migration.h" > +#include "trace.h" > +#include "qapi/error.h" > +#include "io/channel-tls.h" > + > +void migration_channel_process_incoming(MigrationState *s, > + QIOChannel *ioc) > +{ > + trace_migration_set_incoming_channel( > + ioc, object_get_typename(OBJECT(ioc))); > + > + if (s->parameters.tls_creds && > + *s->parameters.tls_creds && > + !object_dynamic_cast(OBJECT(ioc), > + TYPE_QIO_CHANNEL_TLS)) { > + Error *local_err = NULL; > + migration_tls_channel_process_incoming(s, ioc, &local_err); > + if (local_err) { > + error_report_err(local_err); > + } > + } else { > + QEMUFile *f = qemu_fopen_channel_input(ioc); > + migration_fd_process_incoming(f); > + } > +} > + > + > +void migration_channel_connect(MigrationState *s, > + QIOChannel *ioc, > + const char *hostname) > +{ > + trace_migration_set_outgoing_channel( > + ioc, object_get_typename(OBJECT(ioc)), hostname); > + > + if (s->parameters.tls_creds && > + *s->parameters.tls_creds && > + !object_dynamic_cast(OBJECT(ioc), > + TYPE_QIO_CHANNEL_TLS)) { > + Error *local_err = NULL; > + migration_tls_channel_connect(s, ioc, hostname, &local_err); > + if (local_err) { > + migrate_fd_error(s, local_err); > + error_free(local_err); > + } > + } else { > + QEMUFile *f = qemu_fopen_channel_output(ioc); > + > + s->to_dst_file = f; > + > + migrate_fd_connect(s); > + } > +} > diff --git a/migration/channel.h b/migration/channel.h > new file mode 100644 > index 0000000..618acb7 > --- /dev/null > +++ b/migration/channel.h > @@ -0,0 +1,25 @@ > +/* > + * QEMU live migration channel functions > + * > + * Copyright IBM, Corp. 2008 > + * > + * Authors: > + * Anthony Liguori > + * > + * This work is licensed under the terms of the GNU GPL, version 2. See > + * the COPYING file in the top-level directory. > + * > + */ > + > +#ifndef QEMU_MIGRATION_CHANNEL_H > +#define QEMU_MIGRATION_CHANNEL_H > + > +#include "io/channel.h" > + > +void migration_channel_process_incoming(MigrationState *s, > + QIOChannel *ioc); > + > +void migration_channel_connect(MigrationState *s, > + QIOChannel *ioc, > + const char *hostname); > +#endif > diff --git a/migration/exec.c b/migration/exec.c > index aba9089..57a9335 100644 > --- a/migration/exec.c > +++ b/migration/exec.c > @@ -20,6 +20,7 @@ > #include "qemu/osdep.h" > #include "qapi/error.h" > #include "qemu-common.h" > +#include "channel.h" > #include "migration/migration.h" > #include "io/channel-command.h" > #include "trace.h" > diff --git a/migration/fd.c b/migration/fd.c > index 58cb51a..05e0a5c 100644 > --- a/migration/fd.c > +++ b/migration/fd.c > @@ -17,6 +17,7 @@ > #include "qemu/osdep.h" > #include "qapi/error.h" > #include "qemu-common.h" > +#include "channel.h" > #include "migration/migration.h" > #include "monitor/monitor.h" > #include "io/channel-util.h" > diff --git a/migration/migration.c b/migration/migration.c > index d5ebcd2..3ba32eb 100644 > --- a/migration/migration.c > +++ b/migration/migration.c > @@ -444,56 +444,6 @@ void migration_fd_process_incoming(QEMUFile *f) > qemu_coroutine_enter(co); > } > > - > -void migration_channel_process_incoming(MigrationState *s, > - QIOChannel *ioc) > -{ > - trace_migration_set_incoming_channel( > - ioc, object_get_typename(OBJECT(ioc))); > - > - if (s->parameters.tls_creds && > - *s->parameters.tls_creds && > - !object_dynamic_cast(OBJECT(ioc), > - TYPE_QIO_CHANNEL_TLS)) { > - Error *local_err = NULL; > - migration_tls_channel_process_incoming(s, ioc, &local_err); > - if (local_err) { > - error_report_err(local_err); > - } > - } else { > - QEMUFile *f = qemu_fopen_channel_input(ioc); > - migration_fd_process_incoming(f); > - } > -} > - > - > -void migration_channel_connect(MigrationState *s, > - QIOChannel *ioc, > - const char *hostname) > -{ > - trace_migration_set_outgoing_channel( > - ioc, object_get_typename(OBJECT(ioc)), hostname); > - > - if (s->parameters.tls_creds && > - *s->parameters.tls_creds && > - !object_dynamic_cast(OBJECT(ioc), > - TYPE_QIO_CHANNEL_TLS)) { > - Error *local_err = NULL; > - migration_tls_channel_connect(s, ioc, hostname, &local_err); > - if (local_err) { > - migrate_fd_error(s, local_err); > - error_free(local_err); > - } > - } else { > - QEMUFile *f = qemu_fopen_channel_output(ioc); > - > - s->to_dst_file = f; > - > - migrate_fd_connect(s); > - } > -} > - > - > /* > * Send a message on the return channel back to the source > * of the migration. > diff --git a/migration/socket.c b/migration/socket.c > index 1cfbe81..53f9d61 100644 > --- a/migration/socket.c > +++ b/migration/socket.c > @@ -19,6 +19,7 @@ > #include "qemu-common.h" > #include "qemu/error-report.h" > #include "qapi/error.h" > +#include "channel.h" > #include "migration/migration.h" > #include "migration/qemu-file.h" > #include "io/channel-socket.h" > diff --git a/migration/tls.c b/migration/tls.c > index a33ecb7..34ad121 100644 > --- a/migration/tls.c > +++ b/migration/tls.c > @@ -19,6 +19,7 @@ > */ > > #include "qemu/osdep.h" > +#include "channel.h" > #include "migration/migration.h" > #include "io/channel-tls.h" > #include "crypto/tlscreds.h" > -- > 2.9.3 > -- Peter Xu