From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:38008) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dKNcA-0007RA-Cr for qemu-devel@nongnu.org; Mon, 12 Jun 2017 07:34:38 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dKNc9-0005mQ-3e for qemu-devel@nongnu.org; Mon, 12 Jun 2017 07:34:34 -0400 Received: from mx1.redhat.com ([209.132.183.28]:50014) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1dKNc8-0005mL-Qz for qemu-devel@nongnu.org; Mon, 12 Jun 2017 07:34:33 -0400 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id DC12D80F8D for ; Mon, 12 Jun 2017 11:34:31 +0000 (UTC) References: <20170601212921.30241-1-quintela@redhat.com> <20170601212921.30241-7-quintela@redhat.com> From: Laurent Vivier Message-ID: <753c22da-35b2-a81c-e6b2-f20d8f0c5e34@redhat.com> Date: Mon, 12 Jun 2017 13:34:27 +0200 MIME-Version: 1.0 In-Reply-To: <20170601212921.30241-7-quintela@redhat.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 06/11] migration: Commands are only used inside migration.c List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Juan Quintela , qemu-devel@nongnu.org Cc: dgilbert@redhat.com, peterx@redhat.com On 01/06/2017 23:29, Juan Quintela wrote: > So, move them there. Notice that we export functions that send > commands, not the command themselves. > > Signed-off-by: Juan Quintela Reviewed-by: Laurent Vivier > --- > include/migration/migration.h | 15 -------------- > migration/migration.c | 46 +++++++++++++++++++++++++++---------------- > 2 files changed, 29 insertions(+), 32 deletions(-) > > diff --git a/include/migration/migration.h b/include/migration/migration.h > index dd52d3c..108212c 100644 > --- a/include/migration/migration.h > +++ b/include/migration/migration.h > @@ -22,18 +22,6 @@ > #include "exec/cpu-common.h" > #include "qemu/coroutine_int.h" > > -/* Messages sent on the return path from destination to source */ > -enum mig_rp_message_type { > - MIG_RP_MSG_INVALID = 0, /* Must be 0 */ > - MIG_RP_MSG_SHUT, /* sibling will not send any more RP messages */ > - MIG_RP_MSG_PONG, /* Response to a PING; data (seq: be32 ) */ > - > - MIG_RP_MSG_REQ_PAGES_ID, /* data (start: be64, len: be32, id: string) */ > - MIG_RP_MSG_REQ_PAGES, /* data (start: be64, len: be32) */ > - > - MIG_RP_MSG_MAX > -}; > - > /* State for the incoming migration */ > struct MigrationIncomingState { > QEMUFile *from_src_file; > @@ -176,9 +164,6 @@ int migrate_decompress_threads(void); > bool migrate_use_events(void); > > /* Sending on the return path - generic and then for each message type */ > -void migrate_send_rp_message(MigrationIncomingState *mis, > - enum mig_rp_message_type message_type, > - uint16_t len, void *data); > void migrate_send_rp_shut(MigrationIncomingState *mis, > uint32_t value); > void migrate_send_rp_pong(MigrationIncomingState *mis, > diff --git a/migration/migration.c b/migration/migration.c > index 48c94c9..603d39d 100644 > --- a/migration/migration.c > +++ b/migration/migration.c > @@ -86,6 +86,18 @@ static NotifierList migration_state_notifiers = > > static bool deferred_incoming; > > +/* Messages sent on the return path from destination to source */ > +enum mig_rp_message_type { > + MIG_RP_MSG_INVALID = 0, /* Must be 0 */ > + MIG_RP_MSG_SHUT, /* sibling will not send any more RP messages */ > + MIG_RP_MSG_PONG, /* Response to a PING; data (seq: be32 ) */ > + > + MIG_RP_MSG_REQ_PAGES_ID, /* data (start: be64, len: be32, id: string) */ > + MIG_RP_MSG_REQ_PAGES, /* data (start: be64, len: be32) */ > + > + MIG_RP_MSG_MAX > +}; > + > /* When we add fault tolerance, we could have several > migrations at once. For now we don't need to add > dynamic creation of migration */ > @@ -292,6 +304,23 @@ static void deferred_incoming_migration(Error **errp) > deferred_incoming = true; > } > > +/* > + * Send a message on the return channel back to the source > + * of the migration. > + */ > +static void migrate_send_rp_message(MigrationIncomingState *mis, > + enum mig_rp_message_type message_type, > + uint16_t len, void *data) > +{ > + trace_migrate_send_rp_message((int)message_type, len); > + qemu_mutex_lock(&mis->rp_mutex); > + qemu_put_be16(mis->to_src_file, (unsigned int)message_type); > + qemu_put_be16(mis->to_src_file, len); > + qemu_put_buffer(mis->to_src_file, data, len); > + qemu_fflush(mis->to_src_file); > + qemu_mutex_unlock(&mis->rp_mutex); > +} > + > /* Request a range of pages from the source VM at the given > * start address. > * rbname: Name of the RAMBlock to request the page in, if NULL it's the same > @@ -462,23 +491,6 @@ void migration_fd_process_incoming(QEMUFile *f) > } > > /* > - * Send a message on the return channel back to the source > - * of the migration. > - */ > -void migrate_send_rp_message(MigrationIncomingState *mis, > - enum mig_rp_message_type message_type, > - uint16_t len, void *data) > -{ > - trace_migrate_send_rp_message((int)message_type, len); > - qemu_mutex_lock(&mis->rp_mutex); > - qemu_put_be16(mis->to_src_file, (unsigned int)message_type); > - qemu_put_be16(mis->to_src_file, len); > - qemu_put_buffer(mis->to_src_file, data, len); > - qemu_fflush(mis->to_src_file); > - qemu_mutex_unlock(&mis->rp_mutex); > -} > - > -/* > * Send a 'SHUT' message on the return channel with the given value > * to indicate that we've finished with the RP. Non-0 value indicates > * error. >