From nobody Mon May 6 14:07:03 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (208.118.235.17 [208.118.235.17]) by mx.zohomail.com with SMTPS id 1511354679423800.71656646383; Wed, 22 Nov 2017 04:44:39 -0800 (PST) Received: from localhost ([::1]:39150 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eHUNz-0005gV-Ir for importer@patchew.org; Wed, 22 Nov 2017 07:44:15 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:39037) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eHUMH-0004g3-9h for qemu-devel@nongnu.org; Wed, 22 Nov 2017 07:42:30 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eHUMF-000780-FP for qemu-devel@nongnu.org; Wed, 22 Nov 2017 07:42:29 -0500 Received: from mx1.redhat.com ([209.132.183.28]:43940) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1eHUMF-00077p-8f for qemu-devel@nongnu.org; Wed, 22 Nov 2017 07:42:27 -0500 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 680EFC0587CA for ; Wed, 22 Nov 2017 12:42:26 +0000 (UTC) Received: from secure.mitica (ovpn-116-72.ams2.redhat.com [10.36.116.72]) by smtp.corp.redhat.com (Postfix) with ESMTP id 05B8B620A2; Wed, 22 Nov 2017 12:42:24 +0000 (UTC) From: Juan Quintela To: qemu-devel@nongnu.org Date: Wed, 22 Nov 2017 13:42:14 +0100 Message-Id: <20171122124219.12954-2-quintela@redhat.com> In-Reply-To: <20171122124219.12954-1-quintela@redhat.com> References: <20171122124219.12954-1-quintela@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.32]); Wed, 22 Nov 2017 12:42:26 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH v2 1/6] migration: print features as on off X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: lvivier@redhat.com, dgilbert@redhat.com, peterx@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Once there, do one thing for line Signed-off-by: Juan Quintela Reviewed-by: Dr. David Alan Gilbert Reviewed-by: Peter Xu --- migration/migration.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/migration/migration.c b/migration/migration.c index 4de3b551fe..706d2407ec 100644 --- a/migration/migration.c +++ b/migration/migration.c @@ -2375,10 +2375,15 @@ void migration_global_dump(Monitor *mon) { MigrationState *ms =3D migrate_get_current(); =20 - monitor_printf(mon, "globals: store-global-state=3D%d, only_migratable= =3D%d, " - "send-configuration=3D%d, send-section-footer=3D%d\n", - ms->store_global_state, ms->only_migratable, - ms->send_configuration, ms->send_section_footer); + monitor_printf(mon, "globals:\n"); + monitor_printf(mon, "store-global-state: %s\n", + ms->store_global_state ? "on" : "off"); + monitor_printf(mon, "only-migratable: %s\n", + ms->only_migratable ? "on" : "off"); + monitor_printf(mon, "send-configuration: %s\n", + ms->send_configuration ? "on" : "off"); + monitor_printf(mon, "send-section-footer: %s\n", + ms->send_section_footer ? "on" : "off"); } =20 #define DEFINE_PROP_MIG_CAP(name, x) \ --=20 2.13.6 From nobody Mon May 6 14:07:03 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1511354820016361.3519237659764; Wed, 22 Nov 2017 04:47:00 -0800 (PST) Received: from localhost ([::1]:39171 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eHUQM-0007oy-EL for importer@patchew.org; Wed, 22 Nov 2017 07:46:42 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:39083) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eHUMN-0004iR-3k for qemu-devel@nongnu.org; Wed, 22 Nov 2017 07:42:38 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eHUMH-00078z-Bc for qemu-devel@nongnu.org; Wed, 22 Nov 2017 07:42:35 -0500 Received: from mx1.redhat.com ([209.132.183.28]:39278) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1eHUMH-00078e-5C for qemu-devel@nongnu.org; Wed, 22 Nov 2017 07:42:29 -0500 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 302A05D9E9 for ; Wed, 22 Nov 2017 12:42:28 +0000 (UTC) Received: from secure.mitica (ovpn-116-72.ams2.redhat.com [10.36.116.72]) by smtp.corp.redhat.com (Postfix) with ESMTP id BE2376A849; Wed, 22 Nov 2017 12:42:26 +0000 (UTC) From: Juan Quintela To: qemu-devel@nongnu.org Date: Wed, 22 Nov 2017 13:42:15 +0100 Message-Id: <20171122124219.12954-3-quintela@redhat.com> In-Reply-To: <20171122124219.12954-1-quintela@redhat.com> References: <20171122124219.12954-1-quintela@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.25]); Wed, 22 Nov 2017 12:42:28 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH v2 2/6] migration: free addr in the same function that we created it X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: lvivier@redhat.com, dgilbert@redhat.com, peterx@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Otherwise, we can't use it after calling socket_start_incoming_migration Signed-off-by: Juan Quintela Reviewed-by: Peter Xu --- migration/socket.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/migration/socket.c b/migration/socket.c index dee869044a..3a8232dd2d 100644 --- a/migration/socket.c +++ b/migration/socket.c @@ -172,7 +172,6 @@ static void socket_start_incoming_migration(SocketAddre= ss *saddr, =20 if (qio_channel_socket_listen_sync(listen_ioc, saddr, errp) < 0) { object_unref(OBJECT(listen_ioc)); - qapi_free_SocketAddress(saddr); return; } =20 @@ -181,7 +180,6 @@ static void socket_start_incoming_migration(SocketAddre= ss *saddr, socket_accept_incoming_migration, listen_ioc, (GDestroyNotify)object_unref); - qapi_free_SocketAddress(saddr); } =20 void tcp_start_incoming_migration(const char *host_port, Error **errp) @@ -191,6 +189,7 @@ void tcp_start_incoming_migration(const char *host_port= , Error **errp) if (!err) { socket_start_incoming_migration(saddr, &err); } + qapi_free_SocketAddress(saddr); error_propagate(errp, err); } =20 @@ -198,4 +197,5 @@ void unix_start_incoming_migration(const char *path, Er= ror **errp) { SocketAddress *saddr =3D unix_build_address(path); socket_start_incoming_migration(saddr, errp); + qapi_free_SocketAddress(saddr); } --=20 2.13.6 From nobody Mon May 6 14:07:03 2024 Delivered-To: importer@patchew.org Received-SPF: temperror (zoho.com: Error in retrieving data from DNS) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=temperror (zoho.com: Error in retrieving data from DNS) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (208.118.235.17 [208.118.235.17]) by mx.zohomail.com with SMTPS id 1511354682636552.809968053104; Wed, 22 Nov 2017 04:44:42 -0800 (PST) Received: from localhost ([::1]:39151 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eHUO9-0005nV-5w for importer@patchew.org; Wed, 22 Nov 2017 07:44:25 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:39068) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eHUMK-0004gU-Aa for qemu-devel@nongnu.org; Wed, 22 Nov 2017 07:42:33 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eHUMJ-0007A1-76 for qemu-devel@nongnu.org; Wed, 22 Nov 2017 07:42:32 -0500 Received: from mx1.redhat.com ([209.132.183.28]:33168) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1eHUMI-00079f-Uz for qemu-devel@nongnu.org; Wed, 22 Nov 2017 07:42:31 -0500 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 179783C92 for ; Wed, 22 Nov 2017 12:42:30 +0000 (UTC) Received: from secure.mitica (ovpn-116-72.ams2.redhat.com [10.36.116.72]) by smtp.corp.redhat.com (Postfix) with ESMTP id 85DDB6A849; Wed, 22 Nov 2017 12:42:28 +0000 (UTC) From: Juan Quintela To: qemu-devel@nongnu.org Date: Wed, 22 Nov 2017 13:42:16 +0100 Message-Id: <20171122124219.12954-4-quintela@redhat.com> In-Reply-To: <20171122124219.12954-1-quintela@redhat.com> References: <20171122124219.12954-1-quintela@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.29]); Wed, 22 Nov 2017 12:42:30 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH v2 3/6] migration: Create uri parameter X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: lvivier@redhat.com, dgilbert@redhat.com, peterx@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RSF_6 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" It will be used to store the uri migration parameter. Right now it is just the parameter code. Signed-off-by: Juan Quintela --- hmp.c | 7 +++++++ migration/migration.c | 13 +++++++++++++ qapi/migration.json | 18 +++++++++++++++--- 3 files changed, 35 insertions(+), 3 deletions(-) diff --git a/hmp.c b/hmp.c index 35a7041824..c9241f6947 100644 --- a/hmp.c +++ b/hmp.c @@ -345,6 +345,9 @@ void hmp_info_migrate_parameters(Monitor *mon, const QD= ict *qdict) monitor_printf(mon, "%s: %" PRId64 "\n", MigrationParameter_str(MIGRATION_PARAMETER_XBZRLE_CACHE_SIZE), params->xbzrle_cache_size); + monitor_printf(mon, "%s: %s\n", + MigrationParameter_str(MIGRATION_PARAMETER_URI), + params->uri); } =20 qapi_free_MigrationParameters(params); @@ -1659,6 +1662,10 @@ void hmp_migrate_set_parameter(Monitor *mon, const Q= Dict *qdict) } p->xbzrle_cache_size =3D cache_size; break; + case MIGRATION_PARAMETER_URI: + p->has_uri =3D true; + visit_type_str(v, param, &p->uri, &err); + break; default: assert(0); } diff --git a/migration/migration.c b/migration/migration.c index 706d2407ec..3e48d37880 100644 --- a/migration/migration.c +++ b/migration/migration.c @@ -517,6 +517,8 @@ MigrationParameters *qmp_query_migrate_parameters(Error= **errp) params->x_multifd_page_count =3D s->parameters.x_multifd_page_count; params->has_xbzrle_cache_size =3D true; params->xbzrle_cache_size =3D s->parameters.xbzrle_cache_size; + params->has_uri =3D true; + params->uri =3D g_strdup(s->parameters.uri); =20 return params; } @@ -893,6 +895,9 @@ static void migrate_params_test_apply(MigrateSetParamet= ers *params, if (params->has_xbzrle_cache_size) { dest->xbzrle_cache_size =3D params->xbzrle_cache_size; } + if (params->has_uri) { + dest->uri =3D g_strdup(params->uri); + } } =20 static void migrate_params_apply(MigrateSetParameters *params, Error **err= p) @@ -965,6 +970,10 @@ static void migrate_params_apply(MigrateSetParameters = *params, Error **errp) s->parameters.xbzrle_cache_size =3D params->xbzrle_cache_size; xbzrle_cache_resize(params->xbzrle_cache_size, errp); } + if (params->has_uri) { + g_free(s->parameters.uri); + s->parameters.uri =3D g_strdup(params->uri); + } } =20 void qmp_migrate_set_parameters(MigrateSetParameters *params, Error **errp) @@ -2431,6 +2440,8 @@ static Property migration_properties[] =3D { DEFINE_PROP_SIZE("xbzrle-cache-size", MigrationState, parameters.xbzrle_cache_size, DEFAULT_MIGRATE_XBZRLE_CACHE_SIZE), + DEFINE_PROP_STRING("x-uri", MigrationState, + parameters.uri), =20 /* Migration capabilities */ DEFINE_PROP_MIG_CAP("x-xbzrle", MIGRATION_CAPABILITY_XBZRLE), @@ -2465,6 +2476,7 @@ static void migration_instance_finalize(Object *obj) qemu_mutex_destroy(&ms->error_mutex); g_free(params->tls_hostname); g_free(params->tls_creds); + g_free(params->uri); qemu_sem_destroy(&ms->pause_sem); } =20 @@ -2480,6 +2492,7 @@ static void migration_instance_init(Object *obj) =20 params->tls_hostname =3D g_strdup(""); params->tls_creds =3D g_strdup(""); + params->uri =3D g_strdup(""); =20 /* Set has_* up only for parameter checks */ params->has_compress_level =3D true; diff --git a/qapi/migration.json b/qapi/migration.json index bbc4671ded..ebde890604 100644 --- a/qapi/migration.json +++ b/qapi/migration.json @@ -488,6 +488,9 @@ # and a power of 2 # (Since 2.11) # +# @uri: defines the method we are susing to migrate +# (Since 2.11) +# # Since: 2.4 ## { 'enum': 'MigrationParameter', @@ -496,7 +499,7 @@ 'tls-creds', 'tls-hostname', 'max-bandwidth', 'downtime-limit', 'x-checkpoint-delay', 'block-incremental', 'x-multifd-channels', 'x-multifd-page-count', - 'xbzrle-cache-size' ] } + 'xbzrle-cache-size', 'uri' ] } =20 ## # @MigrateSetParameters: @@ -564,6 +567,10 @@ # needs to be a multiple of the target page size # and a power of 2 # (Since 2.11) +# +# @uri: defines the method we are susing to migrate +# (Since 2.11) +# # Since: 2.4 ## # TODO either fuse back into MigrationParameters, or make @@ -582,7 +589,8 @@ '*block-incremental': 'bool', '*x-multifd-channels': 'int', '*x-multifd-page-count': 'int', - '*xbzrle-cache-size': 'size' } } + '*xbzrle-cache-size': 'size' , + '*uri': 'str'} } =20 ## # @migrate-set-parameters: @@ -665,6 +673,9 @@ # needs to be a multiple of the target page size # and a power of 2 # (Since 2.11) +# +# @uri: defines the method we are susing to migrate +# (Since 2.11) # Since: 2.4 ## { 'struct': 'MigrationParameters', @@ -681,7 +692,8 @@ '*block-incremental': 'bool' , '*x-multifd-channels': 'int', '*x-multifd-page-count': 'int', - '*xbzrle-cache-size': 'size' } } + '*xbzrle-cache-size': 'size' , + '*uri': 'str'} } =20 ## # @query-migrate-parameters: --=20 2.13.6 From nobody Mon May 6 14:07:03 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1511354808818272.4515959609714; Wed, 22 Nov 2017 04:46:48 -0800 (PST) Received: from localhost ([::1]:39170 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eHUQL-0007of-DT for importer@patchew.org; Wed, 22 Nov 2017 07:46:41 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:39111) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eHUMQ-0004lo-O8 for qemu-devel@nongnu.org; Wed, 22 Nov 2017 07:42:39 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eHUML-0007B6-1D for qemu-devel@nongnu.org; Wed, 22 Nov 2017 07:42:38 -0500 Received: from mx1.redhat.com ([209.132.183.28]:34414) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1eHUMK-0007AX-Ro for qemu-devel@nongnu.org; Wed, 22 Nov 2017 07:42:32 -0500 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 07E3F4E334 for ; Wed, 22 Nov 2017 12:42:32 +0000 (UTC) Received: from secure.mitica (ovpn-116-72.ams2.redhat.com [10.36.116.72]) by smtp.corp.redhat.com (Postfix) with ESMTP id 6DABA620A2; Wed, 22 Nov 2017 12:42:30 +0000 (UTC) From: Juan Quintela To: qemu-devel@nongnu.org Date: Wed, 22 Nov 2017 13:42:17 +0100 Message-Id: <20171122124219.12954-5-quintela@redhat.com> In-Reply-To: <20171122124219.12954-1-quintela@redhat.com> References: <20171122124219.12954-1-quintela@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.38]); Wed, 22 Nov 2017 12:42:32 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH v2 4/6] migration: Now set the migration uri X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: lvivier@redhat.com, dgilbert@redhat.com, peterx@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Signed-off-by: Juan Quintela --- 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, } } =20 +void migrate_set_uri(const char *uri, Error **errp) +{ + MigrateSetParameters p =3D { + .has_uri =3D true, + .uri =3D (char *)uri, + }; + + qmp_migrate_set_parameters(&p, errp); +} + void qemu_start_incoming_migration(const char *uri, Error **errp) { const char *p; =20 + 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, boo= l blk, =20 s =3D migrate_init(); =20 - 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* rb= name, ram_addr_t start, size_t len); =20 +void migrate_set_uri(const char *uri, Error **errp); + #endif --=20 2.13.6 From nobody Mon May 6 14:07:03 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1511354944296158.4024057744066; Wed, 22 Nov 2017 04:49:04 -0800 (PST) Received: from localhost ([::1]:39182 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eHUSZ-0001dl-SA for importer@patchew.org; Wed, 22 Nov 2017 07:48:59 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:39121) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eHUMR-0004ma-Di for qemu-devel@nongnu.org; Wed, 22 Nov 2017 07:42:40 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eHUMM-0007Bh-Qg for qemu-devel@nongnu.org; Wed, 22 Nov 2017 07:42:39 -0500 Received: from mx1.redhat.com ([209.132.183.28]:34432) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1eHUMM-0007BU-I2 for qemu-devel@nongnu.org; Wed, 22 Nov 2017 07:42:34 -0500 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 B0E764ACBB for ; Wed, 22 Nov 2017 12:42:33 +0000 (UTC) Received: from secure.mitica (ovpn-116-72.ams2.redhat.com [10.36.116.72]) by smtp.corp.redhat.com (Postfix) with ESMTP id 5E93E620A2; Wed, 22 Nov 2017 12:42:32 +0000 (UTC) From: Juan Quintela To: qemu-devel@nongnu.org Date: Wed, 22 Nov 2017 13:42:18 +0100 Message-Id: <20171122124219.12954-6-quintela@redhat.com> In-Reply-To: <20171122124219.12954-1-quintela@redhat.com> References: <20171122124219.12954-1-quintela@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.38]); Wed, 22 Nov 2017 12:42:33 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH v2 5/6] migration: make migrate uri parameter optional X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: lvivier@redhat.com, dgilbert@redhat.com, peterx@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Now that we have set an uri migration parameter, we can make it optional in the command line. Signed-off-by: Juan Quintela --- hmp-commands.hx | 4 ++-- hmp.c | 5 +++-- migration/migration.c | 12 +++++++++--- qapi/migration.json | 2 +- 4 files changed, 15 insertions(+), 8 deletions(-) diff --git a/hmp-commands.hx b/hmp-commands.hx index 4afd57cf5f..5be4e3934d 100644 --- a/hmp-commands.hx +++ b/hmp-commands.hx @@ -928,8 +928,8 @@ ETEXI =20 { .name =3D "migrate", - .args_type =3D "detach:-d,blk:-b,inc:-i,uri:s", - .params =3D "[-d] [-b] [-i] uri", + .args_type =3D "detach:-d,blk:-b,inc:-i,uri:-s", + .params =3D "[-d] [-b] [-i] [uri]", .help =3D "migrate to URI (using -d to not wait for completi= on)" "\n\t\t\t -b for migration without shared storage with" " full copy of disk\n\t\t\t -i for migration without " diff --git a/hmp.c b/hmp.c index c9241f6947..27e0fca4ac 100644 --- a/hmp.c +++ b/hmp.c @@ -1928,10 +1928,11 @@ void hmp_migrate(Monitor *mon, const QDict *qdict) bool detach =3D qdict_get_try_bool(qdict, "detach", false); bool blk =3D qdict_get_try_bool(qdict, "blk", false); bool inc =3D qdict_get_try_bool(qdict, "inc", false); - const char *uri =3D qdict_get_str(qdict, "uri"); + bool has_uri =3D qdict_get_try_bool(qdict, "uri", false); + const char *uri =3D qdict_get_try_str(qdict, "uri"); Error *err =3D NULL; =20 - qmp_migrate(uri, !!blk, blk, !!inc, inc, false, false, &err); + qmp_migrate(!!has_uri, uri, !!blk, blk, !!inc, inc, false, false, &err= ); if (err) { hmp_handle_error(mon, &err); return; diff --git a/migration/migration.c b/migration/migration.c index 507226907b..3818a83489 100644 --- a/migration/migration.c +++ b/migration/migration.c @@ -1356,7 +1356,7 @@ bool migration_is_blocked(Error **errp) return false; } =20 -void qmp_migrate(const char *uri, bool has_blk, bool blk, +void qmp_migrate(bool has_uri, const char *uri, bool has_blk, bool blk, bool has_inc, bool inc, bool has_detach, bool detach, Error **errp) { @@ -1374,7 +1374,13 @@ 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 (has_uri && uri) { + migrate_set_uri(uri, errp); + } + if (!s->parameters.uri) { + error_setg(errp, "Migration uri needs to be set"); + return; + } if (migration_is_blocked(errp)) { return; } @@ -1412,7 +1418,7 @@ void qmp_migrate(const char *uri, bool has_blk, bool = blk, } else if (strstart(s->parameters.uri, "fd:", &p)) { fd_start_outgoing_migration(s, p, &local_err); } else { - error_setg(errp, QERR_INVALID_PARAMETER_VALUE, "s->parameters.uri", + error_setg(errp, QERR_INVALID_PARAMETER_VALUE, "migration uri", "a valid migration protocol"); migrate_set_state(&s->state, MIGRATION_STATUS_SETUP, MIGRATION_STATUS_FAILED); diff --git a/qapi/migration.json b/qapi/migration.json index ebde890604..6b9758ab99 100644 --- a/qapi/migration.json +++ b/qapi/migration.json @@ -1042,7 +1042,7 @@ # ## { 'command': 'migrate', - 'data': {'uri': 'str', '*blk': 'bool', '*inc': 'bool', '*detach': 'bool'= } } + 'data': {'*uri': 'str', '*blk': 'bool', '*inc': 'bool', '*detach': 'bool= ' } } =20 ## # @migrate-incoming: --=20 2.13.6 From nobody Mon May 6 14:07:03 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (208.118.235.17 [208.118.235.17]) by mx.zohomail.com with SMTPS id 1511354684757381.0490807198353; Wed, 22 Nov 2017 04:44:44 -0800 (PST) Received: from localhost ([::1]:39153 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eHUOG-0005vY-GC for importer@patchew.org; Wed, 22 Nov 2017 07:44:32 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:39109) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eHUMQ-0004lR-Cy for qemu-devel@nongnu.org; Wed, 22 Nov 2017 07:42:39 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eHUMO-0007Cb-Gw for qemu-devel@nongnu.org; Wed, 22 Nov 2017 07:42:38 -0500 Received: from mx1.redhat.com ([209.132.183.28]:34454) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1eHUMO-0007Bz-7p for qemu-devel@nongnu.org; Wed, 22 Nov 2017 07:42:36 -0500 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 6610549025 for ; Wed, 22 Nov 2017 12:42:35 +0000 (UTC) Received: from secure.mitica (ovpn-116-72.ams2.redhat.com [10.36.116.72]) by smtp.corp.redhat.com (Postfix) with ESMTP id 12883620A2; Wed, 22 Nov 2017 12:42:33 +0000 (UTC) From: Juan Quintela To: qemu-devel@nongnu.org Date: Wed, 22 Nov 2017 13:42:19 +0100 Message-Id: <20171122124219.12954-7-quintela@redhat.com> In-Reply-To: <20171122124219.12954-1-quintela@redhat.com> References: <20171122124219.12954-1-quintela@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.38]); Wed, 22 Nov 2017 12:42:35 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH v2 6/6] migration: Set the new port/address in the uri parameter X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: lvivier@redhat.com, dgilbert@redhat.com, peterx@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" We can set the port parameter as zero. This patch lets us know what port the system was choosen for us. Now we can migrate to this place. Signed-off-by: Juan Quintela --- migration/socket.c | 37 ++++++++++++++++++++++++++++++++----- 1 file changed, 32 insertions(+), 5 deletions(-) diff --git a/migration/socket.c b/migration/socket.c index 3a8232dd2d..5f9cbaf54a 100644 --- a/migration/socket.c +++ b/migration/socket.c @@ -162,17 +162,24 @@ out: } =20 =20 -static void socket_start_incoming_migration(SocketAddress *saddr, - Error **errp) +static SocketAddress *socket_start_incoming_migration(SocketAddress *saddr, + Error **errp) { QIOChannelSocket *listen_ioc =3D qio_channel_socket_new(); + SocketAddress *address; =20 qio_channel_set_name(QIO_CHANNEL(listen_ioc), "migration-socket-listener"); =20 if (qio_channel_socket_listen_sync(listen_ioc, saddr, errp) < 0) { object_unref(OBJECT(listen_ioc)); - return; + return NULL; + } + + address =3D qio_channel_socket_get_local_address(listen_ioc, errp); + if (address < 0) { + object_unref(OBJECT(listen_ioc)); + return NULL; } =20 qio_channel_add_watch(QIO_CHANNEL(listen_ioc), @@ -180,14 +187,31 @@ static void socket_start_incoming_migration(SocketAdd= ress *saddr, socket_accept_incoming_migration, listen_ioc, (GDestroyNotify)object_unref); + return address; } =20 void tcp_start_incoming_migration(const char *host_port, Error **errp) { Error *err =3D NULL; SocketAddress *saddr =3D tcp_build_address(host_port, &err); + if (!err) { - socket_start_incoming_migration(saddr, &err); + SocketAddress *address =3D socket_start_incoming_migration(saddr, = &err); + + if (address && + (strcmp(address->u.inet.port, saddr->u.inet.port) || + strcmp(address->u.inet.host, saddr->u.inet.host))) { + char *new_uri; + InetSocketAddress *iaddr =3D &saddr->u.inet; + + new_uri =3D g_strdup_printf("tcp:%s:%s%s%s", address->u.inet.h= ost, + address->u.inet.port, + iaddr->has_ipv4 ? ",ipv4" : "", + iaddr->has_ipv6 ? ",ipv6" : ""); + migrate_set_uri(new_uri, errp); + g_free(new_uri); + qapi_free_SocketAddress(address); + } } qapi_free_SocketAddress(saddr); error_propagate(errp, err); @@ -196,6 +220,9 @@ void tcp_start_incoming_migration(const char *host_port= , Error **errp) void unix_start_incoming_migration(const char *path, Error **errp) { SocketAddress *saddr =3D unix_build_address(path); - socket_start_incoming_migration(saddr, errp); + SocketAddress *address; + + address =3D socket_start_incoming_migration(saddr, errp); + qapi_free_SocketAddress(address); qapi_free_SocketAddress(saddr); } --=20 2.13.6