[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RFC v2 15/33] migration: pass MigrationState to migrate_in
From: |
Peter Xu |
Subject: |
[Qemu-devel] [RFC v2 15/33] migration: pass MigrationState to migrate_init() |
Date: |
Wed, 30 Aug 2017 16:32:12 +0800 |
Let the callers take the object, then pass it to migrate_init().
Signed-off-by: Peter Xu <address@hidden>
---
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
- [Qemu-devel] [RFC v2 05/33] migration: better error handling with QEMUFile, (continued)
- [Qemu-devel] [RFC v2 05/33] migration: better error handling with QEMUFile, Peter Xu, 2017/08/30
- [Qemu-devel] [RFC v2 06/33] migration: reuse mis->userfault_quit_fd, Peter Xu, 2017/08/30
- [Qemu-devel] [RFC v2 07/33] migration: provide postcopy_fault_thread_notify(), Peter Xu, 2017/08/30
- [Qemu-devel] [RFC v2 09/33] migration: implement "postcopy-pause" src logic, Peter Xu, 2017/08/30
- [Qemu-devel] [RFC v2 08/33] migration: new postcopy-pause state, Peter Xu, 2017/08/30
- [Qemu-devel] [RFC v2 10/33] migration: allow dst vm pause on postcopy, Peter Xu, 2017/08/30
- [Qemu-devel] [RFC v2 11/33] migration: allow src return path to pause, Peter Xu, 2017/08/30
- [Qemu-devel] [RFC v2 12/33] migration: allow send_rq to fail, Peter Xu, 2017/08/30
- [Qemu-devel] [RFC v2 13/33] migration: allow fault thread to pause, Peter Xu, 2017/08/30
- [Qemu-devel] [RFC v2 14/33] qmp: hmp: add migrate "resume" option, Peter Xu, 2017/08/30
- [Qemu-devel] [RFC v2 15/33] migration: pass MigrationState to migrate_init(),
Peter Xu <=
- [Qemu-devel] [RFC v2 16/33] migration: rebuild channel on source, Peter Xu, 2017/08/30
- [Qemu-devel] [RFC v2 17/33] migration: new state "postcopy-recover", Peter Xu, 2017/08/30
- [Qemu-devel] [RFC v2 18/33] migration: wakeup dst ram-load-thread for recover, Peter Xu, 2017/08/30
- [Qemu-devel] [RFC v2 19/33] migration: new cmd MIG_CMD_RECV_BITMAP, Peter Xu, 2017/08/30
- [Qemu-devel] [RFC v2 20/33] migration: new message MIG_RP_MSG_RECV_BITMAP, Peter Xu, 2017/08/30
- [Qemu-devel] [RFC v2 21/33] migration: new cmd MIG_CMD_POSTCOPY_RESUME, Peter Xu, 2017/08/30
- [Qemu-devel] [RFC v2 22/33] migration: new message MIG_RP_MSG_RESUME_ACK, Peter Xu, 2017/08/30
- [Qemu-devel] [RFC v2 23/33] migration: introduce SaveVMHandlers.resume_prepare, Peter Xu, 2017/08/30
- [Qemu-devel] [RFC v2 24/33] migration: synchronize dirty bitmap for resume, Peter Xu, 2017/08/30
- [Qemu-devel] [RFC v2 25/33] migration: setup ramstate for resume, Peter Xu, 2017/08/30