From nobody Tue Nov 26 08:59:05 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1708595677; cv=none; d=zohomail.com; s=zohoarc; b=XSY7hRjELXdFSfunXmGNDJDPK5z0dU8wMSk09DEZAUaRFghxQBMcnntajaydld/kFeLQcOU0VKZeEuGLyxS6vkOvoGzkHRIhggKIirXrYqmBmyIRYfRoIKoz2PhFw+ic1bnMo+9Mdn6bW0YREH3T2Ot/lsL1oO7hX5IHPgyWUss= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1708595677; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=XVZgEJyPi0lNLpFEaYQlAovpe/n6EgDfNQp8be0H6wA=; b=Ct5wycOIs+uI1BDagMBeaQDwm3EYO6FjXEiAeDaAtHcIFy/lh2lSs0Z41Q/vO3Kjb4Pn6MZSfC33LbPnw8t5oeGFJ1ZCBBIOpnvxRbKiMUcfgKqLygU0GCskALkV0osZMjaJNp6eiaZZZbSygv7hMaaSYGobKKVzGAJx43lG69E= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1708595677436165.38067206733263; Thu, 22 Feb 2024 01:54:37 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rd5lc-0007W7-9b; Thu, 22 Feb 2024 04:53:24 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rd5lV-0007Tp-SJ for qemu-devel@nongnu.org; Thu, 22 Feb 2024 04:53:18 -0500 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rd5lU-0006mb-Cx for qemu-devel@nongnu.org; Thu, 22 Feb 2024 04:53:17 -0500 Received: from mimecast-mx02.redhat.com (mx-ext.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-641-5RCpDHlRO9SX1L6hWA2nBQ-1; Thu, 22 Feb 2024 04:53:10 -0500 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com [10.11.54.5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 6569A3816447; Thu, 22 Feb 2024 09:53:10 +0000 (UTC) Received: from x1n.redhat.com (unknown [10.72.116.9]) by smtp.corp.redhat.com (Postfix) with ESMTP id 50BB910802; Thu, 22 Feb 2024 09:53:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1708595594; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=XVZgEJyPi0lNLpFEaYQlAovpe/n6EgDfNQp8be0H6wA=; b=BDelc/JppML02POmhaYsi6Kz9uwAiiYjan+tk6crPjgLdJvL45VCKDsgU8i+zs6ejHC10h gsI3mV/+AJy638AS28b+qgg5c6Bf+qwdXbQuDbiLFnswg1JVlyHAFt0TYYmJ8DAeCosZzX jRnYEcgWPzd2LaIcGrfwa1WZd26bwio= X-MC-Unique: 5RCpDHlRO9SX1L6hWA2nBQ-1 From: peterx@redhat.com To: qemu-devel@nongnu.org Cc: Fabiano Rosas , peterx@redhat.com, Avihai Horon , =?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= Subject: [PATCH v2 1/5] migration/multifd: Cleanup TLS iochannel referencing Date: Thu, 22 Feb 2024 17:52:57 +0800 Message-ID: <20240222095301.171137-2-peterx@redhat.com> In-Reply-To: <20240222095301.171137-1-peterx@redhat.com> References: <20240222095301.171137-1-peterx@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.5 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=peterx@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -21 X-Spam_score: -2.2 X-Spam_bar: -- X-Spam_report: (-2.2 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.05, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1708595678239100001 Content-Type: text/plain; charset="utf-8" From: Peter Xu Commit a1af605bd5 ("migration/multifd: fix hangup with TLS-Multifd due to blocking handshake") introduced a thread for TLS channels, which will resolve the issue on blocking the main thread. However in the same commit p->c is slightly abused just to be able to pass over the pointer "p" into the thread. That's the major reason we'll need to conditionally free the io channel in the fault paths. To clean it up, using a separate structure to pass over both "p" and "tioc" in the tls handshake thread. Then we can make it a rule that p->c will never be set until the channel is completely setup. With that, we can drop the tricky conditional unref of the io channel in the error path. Signed-off-by: Peter Xu Reviewed-by: Fabiano Rosas --- migration/multifd.c | 37 +++++++++++++++++++++++-------------- 1 file changed, 23 insertions(+), 14 deletions(-) diff --git a/migration/multifd.c b/migration/multifd.c index adfe8c9a0a..6b89a6c885 100644 --- a/migration/multifd.c +++ b/migration/multifd.c @@ -873,16 +873,22 @@ out: =20 static void multifd_new_send_channel_async(QIOTask *task, gpointer opaque); =20 +typedef struct { + MultiFDSendParams *p; + QIOChannelTLS *tioc; +} MultiFDTLSThreadArgs; + static void *multifd_tls_handshake_thread(void *opaque) { - MultiFDSendParams *p =3D opaque; - QIOChannelTLS *tioc =3D QIO_CHANNEL_TLS(p->c); + MultiFDTLSThreadArgs *args =3D opaque; =20 - qio_channel_tls_handshake(tioc, + qio_channel_tls_handshake(args->tioc, multifd_new_send_channel_async, - p, + args->p, NULL, NULL); + g_free(args); + return NULL; } =20 @@ -892,6 +898,7 @@ static bool multifd_tls_channel_connect(MultiFDSendPara= ms *p, { MigrationState *s =3D migrate_get_current(); const char *hostname =3D s->hostname; + MultiFDTLSThreadArgs *args; QIOChannelTLS *tioc; =20 tioc =3D migration_tls_client_create(ioc, hostname, errp); @@ -906,11 +913,14 @@ static bool multifd_tls_channel_connect(MultiFDSendPa= rams *p, object_unref(OBJECT(ioc)); trace_multifd_tls_outgoing_handshake_start(ioc, tioc, hostname); qio_channel_set_name(QIO_CHANNEL(tioc), "multifd-tls-outgoing"); - p->c =3D QIO_CHANNEL(tioc); + + args =3D g_new0(MultiFDTLSThreadArgs, 1); + args->tioc =3D tioc; + args->p =3D p; =20 p->tls_thread_created =3D true; qemu_thread_create(&p->tls_thread, "multifd-tls-handshake-worker", - multifd_tls_handshake_thread, p, + multifd_tls_handshake_thread, args, QEMU_THREAD_JOINABLE); return true; } @@ -923,6 +933,7 @@ static bool multifd_channel_connect(MultiFDSendParams *= p, =20 migration_ioc_register_yank(ioc); p->registered_yank =3D true; + /* Setup p->c only if the channel is completely setup */ p->c =3D ioc; =20 p->thread_created =3D true; @@ -976,14 +987,12 @@ out: =20 trace_multifd_new_send_channel_async_error(p->id, local_err); multifd_send_set_error(local_err); - if (!p->c) { - /* - * If no channel has been created, drop the initial - * reference. Otherwise cleanup happens at - * multifd_send_channel_destroy() - */ - object_unref(OBJECT(ioc)); - } + /* + * For error cases (TLS or non-TLS), IO channel is always freed here + * rather than when cleanup multifd: since p->c is not set, multifd + * cleanup code doesn't even know its existence. + */ + object_unref(OBJECT(ioc)); error_free(local_err); } =20 --=20 2.43.0 From nobody Tue Nov 26 08:59:05 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1708595673; cv=none; d=zohomail.com; s=zohoarc; b=Cbw5wTr5r3XLUluMs5np26ybAGExwmZM9RgLMPEy5k3xY8FZS2Ux5k9CO6BMK+zgk+qHtC8/hFfHPn5rJ4JCFp+/QUKYguhuvqHaxRW+YH4J0wiDOMtEjpr/RmEjD934NzWSRB6+OeATMySVjqtZE6+9Ynk9DGPX+4teAeu+FyA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1708595673; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=3Z3cYZesheFU8Ptb72/fxhAVHZz9C+CAeZTQZ83R9eo=; b=luxkUvMnJA/uxQYj6htHtllMLDvFFnj/dM/Gf0NK9TLia0NJ5xPR5xUahf3knrx4kfhn57AmkDNs698uSgOYS2W/63cPsjStV0GCQNMrFYD3ts8TFmbT3mjR7ulhc+/XIFO74NoUhRIlO7x7Y2je+t50b5L6EML5Hz+geONmusY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1708595673475895.852454418057; Thu, 22 Feb 2024 01:54:33 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rd5ld-0007Wj-Hu; Thu, 22 Feb 2024 04:53:25 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rd5lZ-0007Vz-D7 for qemu-devel@nongnu.org; Thu, 22 Feb 2024 04:53:22 -0500 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rd5lX-0006mm-7G for qemu-devel@nongnu.org; Thu, 22 Feb 2024 04:53:20 -0500 Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-615-g24eAK3MPQKx0-JWvaj8GA-1; Thu, 22 Feb 2024 04:53:15 -0500 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com [10.11.54.5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id E11EF835346; Thu, 22 Feb 2024 09:53:14 +0000 (UTC) Received: from x1n.redhat.com (unknown [10.72.116.9]) by smtp.corp.redhat.com (Postfix) with ESMTP id 3553E8CE8; Thu, 22 Feb 2024 09:53:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1708595598; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=3Z3cYZesheFU8Ptb72/fxhAVHZz9C+CAeZTQZ83R9eo=; b=Uw3lLBs26NMUogSlXV5OzDgLbGcHlsctiFzs2+VBY42tjI4iEKN1y+0vy0p5OTBuMMMSmC qIgVOhdxaTCVVJih1ppMr8f5f/EN+fleAFcAFgZrhRErfRafF7pa2VYeUpG/noCt5XzxC0 KpJzl5rGAqt+tQESQaqzyWW/LUcYEGs= X-MC-Unique: g24eAK3MPQKx0-JWvaj8GA-1 From: peterx@redhat.com To: qemu-devel@nongnu.org Cc: Fabiano Rosas , peterx@redhat.com, Avihai Horon , =?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= Subject: [PATCH v2 2/5] migration/multifd: Drop registered_yank Date: Thu, 22 Feb 2024 17:52:58 +0800 Message-ID: <20240222095301.171137-3-peterx@redhat.com> In-Reply-To: <20240222095301.171137-1-peterx@redhat.com> References: <20240222095301.171137-1-peterx@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.5 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=peterx@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -21 X-Spam_score: -2.2 X-Spam_bar: -- X-Spam_report: (-2.2 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.05, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1708595674214100001 Content-Type: text/plain; charset="utf-8" From: Peter Xu With a clear definition of p->c protocol, where we only set it up if the channel is fully established (TLS or non-TLS), registered_yank boolean will have equal meaning of "p->c !=3D NULL". Drop registered_yank by checking p->c instead. Reviewed-by: Fabiano Rosas Signed-off-by: Peter Xu --- migration/multifd.h | 2 -- migration/multifd.c | 7 +++---- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/migration/multifd.h b/migration/multifd.h index 8a1cad0996..b3fe27ae93 100644 --- a/migration/multifd.h +++ b/migration/multifd.h @@ -78,8 +78,6 @@ typedef struct { bool tls_thread_created; /* communication channel */ QIOChannel *c; - /* is the yank function registered */ - bool registered_yank; /* packet allocated len */ uint32_t packet_len; /* guest page size */ diff --git a/migration/multifd.c b/migration/multifd.c index 6b89a6c885..da2e7c1db1 100644 --- a/migration/multifd.c +++ b/migration/multifd.c @@ -648,11 +648,11 @@ static int multifd_send_channel_destroy(QIOChannel *s= end) =20 static bool multifd_send_cleanup_channel(MultiFDSendParams *p, Error **err= p) { - if (p->registered_yank) { + if (p->c) { migration_ioc_unregister_yank(p->c); + multifd_send_channel_destroy(p->c); + p->c =3D NULL; } - multifd_send_channel_destroy(p->c); - p->c =3D NULL; qemu_sem_destroy(&p->sem); qemu_sem_destroy(&p->sem_sync); g_free(p->name); @@ -932,7 +932,6 @@ static bool multifd_channel_connect(MultiFDSendParams *= p, qio_channel_set_delay(ioc, false); =20 migration_ioc_register_yank(ioc); - p->registered_yank =3D true; /* Setup p->c only if the channel is completely setup */ p->c =3D ioc; =20 --=20 2.43.0 From nobody Tue Nov 26 08:59:05 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1708595654; cv=none; d=zohomail.com; s=zohoarc; b=N0r3sla/d2k7rmS+rn8qRirXXjWWmEOVtdbw4zdn1CkTsHED6O/eUNo4lvr+L9sNq6PaS3S7SiQmIFSquN3gM3qPmD8e5+/tOIoYab0iWqatuIBdniozdQNFEASZWRbY8BbMfuGhdVDLkRzr5ueePL343adG42Kn2QrGepPrapM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1708595654; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=YrjZy0FuhbxBEP9u9XFV47cbHOZBoaPzqp9FQlFMFqk=; b=WVi0vJAYGag1R5KkWqFv1cMax0Kq3ONusv2XBhaLEaYOcTu+OvvkRO94fumSlVBMQ/OBjwbXNJTZ22AqhWvdK44+mTbDvVVrDZyg8hxV/kr6KZsYjSRvp85Y2cqgfZRPPuvtEq8QYyBUPqPhCEAYAWgIgKztLreXXhOPP1A1vhE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1708595654296534.6515099617724; Thu, 22 Feb 2024 01:54:14 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rd5lf-0007Xb-4I; Thu, 22 Feb 2024 04:53:27 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rd5ld-0007Wp-MZ for qemu-devel@nongnu.org; Thu, 22 Feb 2024 04:53:25 -0500 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rd5lc-0006oL-7p for qemu-devel@nongnu.org; Thu, 22 Feb 2024 04:53:25 -0500 Received: from mimecast-mx02.redhat.com (mx-ext.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-617-AKpTQ6ePNOSj7b_D8gJDDA-1; Thu, 22 Feb 2024 04:53:18 -0500 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com [10.11.54.5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 94AAB3C11C67; Thu, 22 Feb 2024 09:53:18 +0000 (UTC) Received: from x1n.redhat.com (unknown [10.72.116.9]) by smtp.corp.redhat.com (Postfix) with ESMTP id 976418CED; Thu, 22 Feb 2024 09:53:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1708595602; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=YrjZy0FuhbxBEP9u9XFV47cbHOZBoaPzqp9FQlFMFqk=; b=Og0uUGVWC0Cz1+zUHFXGjgnZlkUxz9Jo0SDMxxHXstwUsAF2DMNuctzzoI/vqsy1+GEMhr tS2XaPIyatRvE4unUkvZPQCF6YqhY/iUZQNettRrmZ4kOIL0t3UZOqttQE2cbDhhaZBScM hJjVIpqQzVLWLKG/L04FO1zcg1CUKq8= X-MC-Unique: AKpTQ6ePNOSj7b_D8gJDDA-1 From: peterx@redhat.com To: qemu-devel@nongnu.org Cc: Fabiano Rosas , peterx@redhat.com, Avihai Horon , =?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= Subject: [PATCH v2 3/5] migration/multifd: Make multifd_channel_connect() return void Date: Thu, 22 Feb 2024 17:52:59 +0800 Message-ID: <20240222095301.171137-4-peterx@redhat.com> In-Reply-To: <20240222095301.171137-1-peterx@redhat.com> References: <20240222095301.171137-1-peterx@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.5 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=peterx@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -21 X-Spam_score: -2.2 X-Spam_bar: -- X-Spam_report: (-2.2 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.05, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1708595656256100011 Content-Type: text/plain; charset="utf-8" From: Peter Xu It never fails, drop the retval and also the Error**. Suggested-by: Avihai Horon Signed-off-by: Peter Xu Reviewed-by: Fabiano Rosas --- migration/multifd.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/migration/multifd.c b/migration/multifd.c index da2e7c1db1..f52f01ca85 100644 --- a/migration/multifd.c +++ b/migration/multifd.c @@ -925,9 +925,7 @@ static bool multifd_tls_channel_connect(MultiFDSendPara= ms *p, return true; } =20 -static bool multifd_channel_connect(MultiFDSendParams *p, - QIOChannel *ioc, - Error **errp) +static void multifd_channel_connect(MultiFDSendParams *p, QIOChannel *ioc) { qio_channel_set_delay(ioc, false); =20 @@ -938,7 +936,6 @@ static bool multifd_channel_connect(MultiFDSendParams *= p, p->thread_created =3D true; qemu_thread_create(&p->thread, p->name, multifd_send_thread, p, QEMU_THREAD_JOINABLE); - return true; } =20 /* @@ -970,7 +967,8 @@ static void multifd_new_send_channel_async(QIOTask *tas= k, gpointer opaque) return; } } else { - ret =3D multifd_channel_connect(p, ioc, &local_err); + multifd_channel_connect(p, ioc); + ret =3D true; } =20 out: --=20 2.43.0 From nobody Tue Nov 26 08:59:05 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1708595654; cv=none; d=zohomail.com; s=zohoarc; b=BHKC+H0x075+pYFcg1+F+q1zuf3wfvhoPEX7VQn76x3mx+b8uFbr17teD99dRt1HCKROzgPNd21n9yY3KoVORH+GlRdzONemZnb034zGfJex1NSLEt372EA7/0c/Y25qhe95gk9L5DRdlIdsS8xXoASmf2DnOc5bcKAVeeGG+Lk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1708595654; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=byLCMPEIKjlNNLbaOQXJ5y319o0Rr0ker5wtX8r6YS8=; b=ek5fKzCx7oYigQ3vmYJCwFJVUpglClnXvWDX7Xuxt1EOw33QoWBrJTN/BGjcwvYcCPp3Np4PVNqiR5Z0ZxhTN2WjPC4RuAdH8V8isq1g1jIeOKU8scCgUMs6ukApCIeia3W86GxDcqSe52VSUlEpYhuf8uDbAvNkfy59bAPSNSM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1708595654529921.0531629658137; Thu, 22 Feb 2024 01:54:14 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rd5lh-0007YP-Qq; Thu, 22 Feb 2024 04:53:29 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rd5lg-0007Xl-9M for qemu-devel@nongnu.org; Thu, 22 Feb 2024 04:53:28 -0500 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rd5le-0006oZ-Pk for qemu-devel@nongnu.org; Thu, 22 Feb 2024 04:53:28 -0500 Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-385-d_jzQha7MBmTlFZcL5c-1A-1; Thu, 22 Feb 2024 04:53:22 -0500 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com [10.11.54.5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 79B3E185A786; Thu, 22 Feb 2024 09:53:22 +0000 (UTC) Received: from x1n.redhat.com (unknown [10.72.116.9]) by smtp.corp.redhat.com (Postfix) with ESMTP id 6480F8CED; Thu, 22 Feb 2024 09:53:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1708595606; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=byLCMPEIKjlNNLbaOQXJ5y319o0Rr0ker5wtX8r6YS8=; b=HU7kdAt/nXmAuay14rvohNT2SuhpRNrR4PrqGR3Qo0qVrlJJ1cORHzSlDSDqh35fQ8Vdd0 BuP8IHVrjyrjNGuOuNpChSQ7L+V/grBB3nk4uI2bMht6hZDztGIL7vEekBkBlPR3ZfWcTA hUq0UbgwoIztZ/xdFNXlv9vChpz9iQY= X-MC-Unique: d_jzQha7MBmTlFZcL5c-1A-1 From: peterx@redhat.com To: qemu-devel@nongnu.org Cc: Fabiano Rosas , peterx@redhat.com, Avihai Horon , =?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= Subject: [PATCH v2 4/5] migration/multifd: Cleanup outgoing_args in state destroy Date: Thu, 22 Feb 2024 17:53:00 +0800 Message-ID: <20240222095301.171137-5-peterx@redhat.com> In-Reply-To: <20240222095301.171137-1-peterx@redhat.com> References: <20240222095301.171137-1-peterx@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.5 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=peterx@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -21 X-Spam_score: -2.2 X-Spam_bar: -- X-Spam_report: (-2.2 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.05, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1708595656265100013 Content-Type: text/plain; charset="utf-8" From: Peter Xu outgoing_args is a global cache of socket address to be reused in multifd. Freeing the cache in per-channel destructor is more or less a hack. Move it to multifd_send_cleanup_state() so it only get checked once. Use a small helper to do so because it's internal of socket.c. Signed-off-by: Peter Xu Reviewed-by: Fabiano Rosas --- migration/socket.h | 2 ++ migration/multifd.c | 1 + migration/socket.c | 12 ++++++++---- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/migration/socket.h b/migration/socket.h index 5e4c33b8ea..5f52eddd4c 100644 --- a/migration/socket.h +++ b/migration/socket.h @@ -29,4 +29,6 @@ void socket_start_incoming_migration(SocketAddress *saddr= , Error **errp); =20 void socket_start_outgoing_migration(MigrationState *s, SocketAddress *saddr, Error **errp); +void socket_cleanup_outgoing_migration(void); + #endif diff --git a/migration/multifd.c b/migration/multifd.c index f52f01ca85..e901b32c19 100644 --- a/migration/multifd.c +++ b/migration/multifd.c @@ -671,6 +671,7 @@ static bool multifd_send_cleanup_channel(MultiFDSendPar= ams *p, Error **errp) =20 static void multifd_send_cleanup_state(void) { + socket_cleanup_outgoing_migration(); qemu_sem_destroy(&multifd_send_state->channels_created); qemu_sem_destroy(&multifd_send_state->channels_ready); g_free(multifd_send_state->params); diff --git a/migration/socket.c b/migration/socket.c index 98e3ea1514..3184c7c3c1 100644 --- a/migration/socket.c +++ b/migration/socket.c @@ -64,10 +64,6 @@ int socket_send_channel_destroy(QIOChannel *send) { /* Remove channel */ object_unref(OBJECT(send)); - if (outgoing_args.saddr) { - qapi_free_SocketAddress(outgoing_args.saddr); - outgoing_args.saddr =3D NULL; - } return 0; } =20 @@ -137,6 +133,14 @@ void socket_start_outgoing_migration(MigrationState *s, NULL); } =20 +void socket_cleanup_outgoing_migration(void) +{ + if (outgoing_args.saddr) { + qapi_free_SocketAddress(outgoing_args.saddr); + outgoing_args.saddr =3D NULL; + } +} + static void socket_accept_incoming_migration(QIONetListener *listener, QIOChannelSocket *cioc, gpointer opaque) --=20 2.43.0 From nobody Tue Nov 26 08:59:05 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1708595654; cv=none; d=zohomail.com; s=zohoarc; b=F1iGt88ENEXtTcEGnLARVCeLWdVzWEPggJTx3Im5bXcLYkBZPJqQSNzo7MncskFlHgQlwzsBpcPom2wpiabUdrfnb3csdqBoKZFeQjnohMLScCG76pVNTWwhZE3p3c38pw2wQhGE82IxdzpWxGIEw8DvYbNa5enbddZUb6/vedw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1708595654; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=9Om+IE0ZDA+aPoI3NoSAM26F72wV5hnac5vdNwv/5Lk=; b=Bjj+sLwNmTcyr6j51CaXknTdOsSVEoIOnV2pYy50JX1eOHIt6f2r5BAEOFR6qhhSx/ej4TrdV3ETVAdr6YYkPhhCoLV4ItuUJ+jRXFtupX9Sq0D8+AHK9qBICXA96Hh313qz6l5nDNIuaoJUbHDxgkhDg2a7yaIYKHutLVjHkQU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1708595654391789.0870565342595; Thu, 22 Feb 2024 01:54:14 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rd5ls-0007ZL-U9; Thu, 22 Feb 2024 04:53:41 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rd5lp-0007Z4-Pp for qemu-devel@nongnu.org; Thu, 22 Feb 2024 04:53:37 -0500 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rd5li-0006on-Ic for qemu-devel@nongnu.org; Thu, 22 Feb 2024 04:53:36 -0500 Received: from mimecast-mx02.redhat.com (mx-ext.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-209-6c4mhx3VPvayNQQXJPVpvQ-1; Thu, 22 Feb 2024 04:53:26 -0500 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com [10.11.54.5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 13E4F3816444; Thu, 22 Feb 2024 09:53:26 +0000 (UTC) Received: from x1n.redhat.com (unknown [10.72.116.9]) by smtp.corp.redhat.com (Postfix) with ESMTP id 304F78CED; Thu, 22 Feb 2024 09:53:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1708595609; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=9Om+IE0ZDA+aPoI3NoSAM26F72wV5hnac5vdNwv/5Lk=; b=GuzaHnoTW0umGe5/yii4ZHXfjw/61IOrAOz2krB96S8viWvC3xilC3SW87nTZcBHhHQtfD nokPRtP9oVkLnSXZhTTYeK46RM/E8lJV0cOa0pkZt2hjREX5zQ+jpvRJO3KptmMiX3p7i+ R26OnjnvWVsgyOcV+00DmTIU4UKSvt0= X-MC-Unique: 6c4mhx3VPvayNQQXJPVpvQ-1 From: peterx@redhat.com To: qemu-devel@nongnu.org Cc: Fabiano Rosas , peterx@redhat.com, Avihai Horon , =?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= Subject: [PATCH v2 5/5] migration/multifd: Drop unnecessary helper to destroy IOC Date: Thu, 22 Feb 2024 17:53:01 +0800 Message-ID: <20240222095301.171137-6-peterx@redhat.com> In-Reply-To: <20240222095301.171137-1-peterx@redhat.com> References: <20240222095301.171137-1-peterx@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.5 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=peterx@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -21 X-Spam_score: -2.2 X-Spam_bar: -- X-Spam_report: (-2.2 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.05, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, T_SPF_HELO_TEMPERROR=0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1708595656262100012 Content-Type: text/plain; charset="utf-8" From: Peter Xu Both socket_send_channel_destroy() and multifd_send_channel_destroy() are unnecessary wrappers to destroy an IOC, as the only thing to do is to release the final IOC reference. We have plenty of code that destroys an IOC using direct unref() already; keep that style. Signed-off-by: Peter Xu Reviewed-by: Fabiano Rosas --- migration/socket.h | 1 - migration/multifd.c | 7 +------ migration/socket.c | 7 ------- 3 files changed, 1 insertion(+), 14 deletions(-) diff --git a/migration/socket.h b/migration/socket.h index 5f52eddd4c..46c233ecd2 100644 --- a/migration/socket.h +++ b/migration/socket.h @@ -23,7 +23,6 @@ =20 void socket_send_channel_create(QIOTaskFunc f, void *data); QIOChannel *socket_send_channel_create_sync(Error **errp); -int socket_send_channel_destroy(QIOChannel *send); =20 void socket_start_incoming_migration(SocketAddress *saddr, Error **errp); =20 diff --git a/migration/multifd.c b/migration/multifd.c index e901b32c19..c2eac0c3e6 100644 --- a/migration/multifd.c +++ b/migration/multifd.c @@ -641,16 +641,11 @@ static void multifd_send_terminate_threads(void) } } =20 -static int multifd_send_channel_destroy(QIOChannel *send) -{ - return socket_send_channel_destroy(send); -} - static bool multifd_send_cleanup_channel(MultiFDSendParams *p, Error **err= p) { if (p->c) { migration_ioc_unregister_yank(p->c); - multifd_send_channel_destroy(p->c); + object_unref(OBJECT(p->c)); p->c =3D NULL; } qemu_sem_destroy(&p->sem); diff --git a/migration/socket.c b/migration/socket.c index 3184c7c3c1..9ab89b1e08 100644 --- a/migration/socket.c +++ b/migration/socket.c @@ -60,13 +60,6 @@ QIOChannel *socket_send_channel_create_sync(Error **errp) return QIO_CHANNEL(sioc); } =20 -int socket_send_channel_destroy(QIOChannel *send) -{ - /* Remove channel */ - object_unref(OBJECT(send)); - return 0; -} - struct SocketConnectData { MigrationState *s; char *hostname; --=20 2.43.0