[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 4/6] migration: Now set the migration uri
From: |
Juan Quintela |
Subject: |
[Qemu-devel] [PATCH v2 4/6] migration: Now set the migration uri |
Date: |
Wed, 22 Nov 2017 13:42:17 +0100 |
Signed-off-by: Juan Quintela <address@hidden>
---
migration/migration.c | 25 ++++++++++++++++++-------
migration/migration.h | 2 ++
2 files changed, 20 insertions(+), 7 deletions(-)
diff --git a/migration/migration.c b/migration/migration.c
index 3e48d37880..507226907b 100644
--- a/migration/migration.c
+++ b/migration/migration.c
@@ -240,10 +240,21 @@ void migrate_send_rp_req_pages(MigrationIncomingState
*mis, const char *rbname,
}
}
+void migrate_set_uri(const char *uri, Error **errp)
+{
+ MigrateSetParameters p = {
+ .has_uri = true,
+ .uri = (char *)uri,
+ };
+
+ qmp_migrate_set_parameters(&p, errp);
+}
+
void qemu_start_incoming_migration(const char *uri, Error **errp)
{
const char *p;
+ migrate_set_uri(uri, errp);
qapi_event_send_migration(MIGRATION_STATUS_SETUP, &error_abort);
if (!strcmp(uri, "defer")) {
deferred_incoming_migration(errp);
@@ -1363,7 +1374,7 @@ void qmp_migrate(const char *uri, bool has_blk, bool blk,
error_setg(errp, "Guest is waiting for an incoming migration");
return;
}
-
+ migrate_set_uri(uri, errp);
if (migration_is_blocked(errp)) {
return;
}
@@ -1388,20 +1399,20 @@ void qmp_migrate(const char *uri, bool has_blk, bool
blk,
s = migrate_init();
- if (strstart(uri, "tcp:", &p)) {
+ if (strstart(s->parameters.uri, "tcp:", &p)) {
tcp_start_outgoing_migration(s, p, &local_err);
#ifdef CONFIG_RDMA
- } else if (strstart(uri, "rdma:", &p)) {
+ } else if (strstart(s->parameters.uri, "rdma:", &p)) {
rdma_start_outgoing_migration(s, p, &local_err);
#endif
- } else if (strstart(uri, "exec:", &p)) {
+ } else if (strstart(s->parameters.uri, "exec:", &p)) {
exec_start_outgoing_migration(s, p, &local_err);
- } else if (strstart(uri, "unix:", &p)) {
+ } else if (strstart(s->parameters.uri, "unix:", &p)) {
unix_start_outgoing_migration(s, p, &local_err);
- } else if (strstart(uri, "fd:", &p)) {
+ } else if (strstart(s->parameters.uri, "fd:", &p)) {
fd_start_outgoing_migration(s, p, &local_err);
} else {
- error_setg(errp, QERR_INVALID_PARAMETER_VALUE, "uri",
+ error_setg(errp, QERR_INVALID_PARAMETER_VALUE, "s->parameters.uri",
"a valid migration protocol");
migrate_set_state(&s->state, MIGRATION_STATUS_SETUP,
MIGRATION_STATUS_FAILED);
diff --git a/migration/migration.h b/migration/migration.h
index 663415fe48..cb0ab4807a 100644
--- a/migration/migration.h
+++ b/migration/migration.h
@@ -210,4 +210,6 @@ void migrate_send_rp_pong(MigrationIncomingState *mis,
void migrate_send_rp_req_pages(MigrationIncomingState *mis, const char* rbname,
ram_addr_t start, size_t len);
+void migrate_set_uri(const char *uri, Error **errp);
+
#endif
--
2.13.6
- [Qemu-devel] [PATCH v2 0/6] Improve info migrate output on destination, Juan Quintela, 2017/11/22
- [Qemu-devel] [PATCH v2 1/6] migration: print features as on off, Juan Quintela, 2017/11/22
- [Qemu-devel] [PATCH v2 3/6] migration: Create uri parameter, Juan Quintela, 2017/11/22
- [Qemu-devel] [PATCH v2 2/6] migration: free addr in the same function that we created it, Juan Quintela, 2017/11/22
- [Qemu-devel] [PATCH v2 6/6] migration: Set the new port/address in the uri parameter, Juan Quintela, 2017/11/22
- [Qemu-devel] [PATCH v2 5/6] migration: make migrate uri parameter optional, Juan Quintela, 2017/11/22
- [Qemu-devel] [PATCH v2 4/6] migration: Now set the migration uri,
Juan Quintela <=
- Re: [Qemu-devel] [PATCH v2 0/6] Improve info migrate output on destination, no-reply, 2017/11/22