From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:34334) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dmyRV-0007Ud-AF for qemu-devel@nongnu.org; Wed, 30 Aug 2017 04:33:46 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dmyRU-0003UZ-Fs for qemu-devel@nongnu.org; Wed, 30 Aug 2017 04:33:45 -0400 Received: from mx1.redhat.com ([209.132.183.28]:49192) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1dmyRU-0003U9-8t for qemu-devel@nongnu.org; Wed, 30 Aug 2017 04:33:44 -0400 From: Peter Xu Date: Wed, 30 Aug 2017 16:32:12 +0800 Message-Id: <1504081950-2528-16-git-send-email-peterx@redhat.com> In-Reply-To: <1504081950-2528-1-git-send-email-peterx@redhat.com> References: <1504081950-2528-1-git-send-email-peterx@redhat.com> Subject: [Qemu-devel] [RFC v2 15/33] migration: pass MigrationState to migrate_init() List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Laurent Vivier , "Daniel P . Berrange" , Alexey Perevalov , Juan Quintela , Andrea Arcangeli , "Dr . David Alan Gilbert" , peterx@redhat.com Let the callers take the object, then pass it to migrate_init(). Signed-off-by: Peter Xu --- migration/migration.c | 7 ++----- migration/migration.h | 2 +- migration/savevm.c | 5 ++++- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/migration/migration.c b/migration/migration.c index 394e84b..15b8eb1 100644 --- a/migration/migration.c +++ b/migration/migration.c @@ -1138,10 +1138,8 @@ bool migration_is_idle(void) return false; } -MigrationState *migrate_init(void) +void migrate_init(MigrationState *s) { - MigrationState *s = migrate_get_current(); - /* * Reinitialise all migration state, except * parameters/capabilities that the user set, and @@ -1169,7 +1167,6 @@ MigrationState *migrate_init(void) migrate_set_state(&s->state, MIGRATION_STATUS_NONE, MIGRATION_STATUS_SETUP); s->total_time = qemu_clock_get_ms(QEMU_CLOCK_REALTIME); - return s; } static GSList *migration_blockers; @@ -1277,7 +1274,7 @@ void qmp_migrate(const char *uri, bool has_blk, bool blk, migrate_set_block_incremental(s, true); } - s = migrate_init(); + migrate_init(s); if (strstart(uri, "tcp:", &p)) { tcp_start_outgoing_migration(s, p, &local_err); diff --git a/migration/migration.h b/migration/migration.h index 338dfe3..b78b9bd 100644 --- a/migration/migration.h +++ b/migration/migration.h @@ -169,7 +169,7 @@ void migrate_fd_error(MigrationState *s, const Error *error); void migrate_fd_connect(MigrationState *s); -MigrationState *migrate_init(void); +void migrate_init(MigrationState *s); bool migration_is_blocked(Error **errp); /* True if outgoing migration has entered postcopy phase */ bool migration_in_postcopy(void); diff --git a/migration/savevm.c b/migration/savevm.c index a3162c1..c9bccf7 100644 --- a/migration/savevm.c +++ b/migration/savevm.c @@ -1224,8 +1224,11 @@ void qemu_savevm_state_cleanup(void) static int qemu_savevm_state(QEMUFile *f, Error **errp) { int ret; - MigrationState *ms = migrate_init(); + MigrationState *ms = migrate_get_current(); MigrationStatus status; + + migrate_init(ms); + ms->to_dst_file = f; if (migration_is_blocked(errp)) { -- 2.7.4