From patchwork Tue Mar 23 17:52:42 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Lukas Straub X-Patchwork-Id: 1457398 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; secure) header.d=web.de header.i=@web.de header.a=rsa-sha256 header.s=dbaedf251592 header.b=kHKCL5QR; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4F4f9m2Nc7z9sTD for ; Wed, 24 Mar 2021 04:53:32 +1100 (AEDT) Received: from localhost ([::1]:47200 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lOlDe-00083J-AF for incoming@patchwork.ozlabs.org; Tue, 23 Mar 2021 13:53:30 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:46008) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lOlD1-0007yG-AZ for qemu-devel@nongnu.org; Tue, 23 Mar 2021 13:52:51 -0400 Received: from mout.web.de ([212.227.15.4]:48047) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lOlCy-0001AU-TW for qemu-devel@nongnu.org; Tue, 23 Mar 2021 13:52:51 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=dbaedf251592; t=1616521964; bh=ACRK7gmZ2FgQVhicMBvYq7bUwWfvOl7MAc7sS1mStJw=; h=X-UI-Sender-Class:Date:From:To:Cc:Subject:In-Reply-To:References; b=kHKCL5QRwFyibE9mG9WIgSHcCDXTggFoR8cJmbEzFLL0b3YkSfbtciYEdpYgLqPHz LwyupPzFRdvXzzIejW4oqOfgo2ruy9zNYkyfH3IcdpXOTWjqGk3VEJt+FQOgDiKEVy JAUODBTql+cdB8pII2G5SiJVkmndaZVzNcbarUu4= X-UI-Sender-Class: c548c8c5-30a9-4db5-a2e7-cb6cb037b8f9 Received: from gecko.fritz.box ([88.130.61.81]) by smtp.web.de (mrweb003 [213.165.67.108]) with ESMTPSA (Nemesis) id 0MFt3u-1lTh9O00oQ-00EtRo; Tue, 23 Mar 2021 18:52:44 +0100 Date: Tue, 23 Mar 2021 18:52:42 +0100 From: Lukas Straub To: qemu-devel Subject: [PATCH 1/2] yank: Remove dependency on qiochannel Message-ID: <20ff143fc2db23e27cd41d38043e481376c9cec1.1616521341.git.lukasstraub2@web.de> In-Reply-To: References: MIME-Version: 1.0 X-Provags-ID: V03:K1:BaWmdmOvnw9qZ8dpf9xlmIw8tDL58rrzkIrTyyAaT7iD3QkzizE 3+IsjspjbZOZ4UdaKoA0gGqr9krSzdP0o3NmwoU0dczq+ukrJmeqokRB9R0qNp3bFq9zmrT dH3YShDyKLcuy603Z0JjiwiN4jsJUGPMWhG/qpCInWpY7Vz20Pk947llFVUrCYzEc5+5XPL iQRNqP7ermuBpTPRZ3QlQ== X-UI-Out-Filterresults: notjunk:1;V03:K0:lYpwFfx4AO8=:EJAB4pBoK+1b64Kiq/f+CD 5Sw5mFnz5cljFPwrutn3ccVUQykmDKLPDveDfgc/8O/BIxYGpkqaBh+GW9fg3llnXOYx5mC5d R8PbmrG1WDnFcSfJQNZdljPpmfDD+sM6KutIX8NxkMX76kiqw1MD6nqtNRI4ThrKNLotGvcZD GOrqean8BoOYFXoMjoDUaCazlvjZFVtxNdWSNQygp1zdkTVru0Z3uU+Xw3+qrIUseAh1e76pN 70DH+J6I3zW969WwRFSDGnetdX7KCUfGdTo+t9iFksHm276Ynrp/FMrFV5lO0YjxsQACCxd4L 8nh2t4kWt1TND3fzVnye1sJDjbTpvxkpv6bcsKkmo1t+lpUxeU5rYNdAwDhyI/4vqxzwvah7Q T4P6Qyo7M8zKhwd4mBxnHSaHbag7nncaF6+3dLLxgzys5au8qJRDcgtaDX7ruJr3aTcHg/gxB zHZKUq4XrwcgB8TuKXIsXtiwhX480yiP0ritpk4KeBg6SdqyZrQ7ZcTvfX70UHelb99YJoLIx P4ixL8AaqysS9aqcJ7Cjui9KkcFGcicWIqNqhmOvId7dsepUbn0GnsuQmUkrRssqcLhouUGWj 0lIFW9xUKO2kfB+EQEozj+albey+smYIibhQCaCMj2ZmMzgS4k8pseN952tvIzq0kIR6d7dkb HorH3TGitgRLS2vj2eyNKm8gkhFhUQWJX1fyv/jdxYCp2YHqdrzCuOqZrBLs1LS5mePYRobTG jGkhECMw30I9GcICQE2Ln+Be/LVrM64NG0EzM0622Y/Nhmdnx6mWmvPqBxCtEYwGbpa+mSHSn 6f84PdCqGOWBzgV4GECsml5pyPVDxBraRZ+l67+Fjf8SRtVke7vC+FBdXWIDMrkLVCPcVb7Ec 51FTlU69v7+pe/P2hEBQ== Received-SPF: pass client-ip=212.227.15.4; envelope-from=lukasstraub2@web.de; helo=mout.web.de X-Spam_score_int: -24 X-Spam_score: -2.5 X-Spam_bar: -- X-Spam_report: (-2.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Paolo Bonzini , Thomas Huth , Alex Bennee , Markus Armbruster Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" Remove dependency on qiochannel by removing yank_generic_iochannel and letting migration and chardev use their own yank function for iochannel. Signed-off-by: Lukas Straub Reviewed-by: Thomas Huth Reviewed-by: Marc-André Lureau --- MAINTAINERS | 1 + chardev/char-socket.c | 21 ++++++++++++++------- include/qemu/yank.h | 10 ---------- migration/channel.c | 6 ++++-- migration/meson.build | 1 + migration/multifd.c | 3 ++- migration/qemu-file-channel.c | 3 ++- migration/yank_functions.c | 20 ++++++++++++++++++++ migration/yank_functions.h | 17 +++++++++++++++++ stubs/yank.c | 6 ------ util/yank.c | 8 -------- 11 files changed, 61 insertions(+), 35 deletions(-) create mode 100644 migration/yank_functions.c create mode 100644 migration/yank_functions.h -- 2.30.2 diff --git a/MAINTAINERS b/MAINTAINERS index 9147e9a429..455775c4a3 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -2821,6 +2821,7 @@ M: Lukas Straub S: Odd fixes F: util/yank.c F: stubs/yank.c +F: migration/yank_functions* F: include/qemu/yank.h F: qapi/yank.json diff --git a/chardev/char-socket.c b/chardev/char-socket.c index f618bdec28..1d455ecca4 100644 --- a/chardev/char-socket.c +++ b/chardev/char-socket.c @@ -402,6 +402,13 @@ static void remove_hup_source(SocketChardev *s) } } +static void char_socket_yank_iochannel(void *opaque) +{ + QIOChannel *ioc = QIO_CHANNEL(opaque); + + qio_channel_shutdown(ioc, QIO_CHANNEL_SHUTDOWN_BOTH, NULL); +} + static void tcp_chr_free_connection(Chardev *chr) { SocketChardev *s = SOCKET_CHARDEV(chr); @@ -424,7 +431,7 @@ static void tcp_chr_free_connection(Chardev *chr) (s->state == TCP_CHARDEV_STATE_CONNECTING || s->state == TCP_CHARDEV_STATE_CONNECTED)) { yank_unregister_function(CHARDEV_YANK_INSTANCE(chr->label), - yank_generic_iochannel, + char_socket_yank_iochannel, QIO_CHANNEL(s->sioc)); } object_unref(OBJECT(s->sioc)); @@ -946,7 +953,7 @@ static int tcp_chr_add_client(Chardev *chr, int fd) tcp_chr_set_client_ioc_name(chr, sioc); if (s->registered_yank) { yank_register_function(CHARDEV_YANK_INSTANCE(chr->label), - yank_generic_iochannel, + char_socket_yank_iochannel, QIO_CHANNEL(sioc)); } ret = tcp_chr_new_client(chr, sioc); @@ -965,7 +972,7 @@ static void tcp_chr_accept(QIONetListener *listener, tcp_chr_set_client_ioc_name(chr, cioc); if (s->registered_yank) { yank_register_function(CHARDEV_YANK_INSTANCE(chr->label), - yank_generic_iochannel, + char_socket_yank_iochannel, QIO_CHANNEL(cioc)); } tcp_chr_new_client(chr, cioc); @@ -985,7 +992,7 @@ static int tcp_chr_connect_client_sync(Chardev *chr, Error **errp) } if (s->registered_yank) { yank_register_function(CHARDEV_YANK_INSTANCE(chr->label), - yank_generic_iochannel, + char_socket_yank_iochannel, QIO_CHANNEL(sioc)); } tcp_chr_new_client(chr, sioc); @@ -1005,7 +1012,7 @@ static void tcp_chr_accept_server_sync(Chardev *chr) tcp_chr_set_client_ioc_name(chr, sioc); if (s->registered_yank) { yank_register_function(CHARDEV_YANK_INSTANCE(chr->label), - yank_generic_iochannel, + char_socket_yank_iochannel, QIO_CHANNEL(sioc)); } tcp_chr_new_client(chr, sioc); @@ -1138,7 +1145,7 @@ static void qemu_chr_socket_connected(QIOTask *task, void *opaque) tcp_chr_change_state(s, TCP_CHARDEV_STATE_DISCONNECTED); if (s->registered_yank) { yank_unregister_function(CHARDEV_YANK_INSTANCE(chr->label), - yank_generic_iochannel, + char_socket_yank_iochannel, QIO_CHANNEL(sioc)); } check_report_connect_error(chr, err); @@ -1176,7 +1183,7 @@ static void tcp_chr_connect_client_async(Chardev *chr) tcp_chr_set_client_ioc_name(chr, sioc); if (s->registered_yank) { yank_register_function(CHARDEV_YANK_INSTANCE(chr->label), - yank_generic_iochannel, + char_socket_yank_iochannel, QIO_CHANNEL(sioc)); } /* diff --git a/include/qemu/yank.h b/include/qemu/yank.h index 5b93c70cbf..5375a1f195 100644 --- a/include/qemu/yank.h +++ b/include/qemu/yank.h @@ -73,16 +73,6 @@ void yank_unregister_function(const YankInstance *instance, YankFn *func, void *opaque); -/** - * yank_generic_iochannel: Generic yank function for iochannel - * - * This is a generic yank function which will call qio_channel_shutdown on the - * provided QIOChannel. - * - * @opaque: QIOChannel to shutdown - */ -void yank_generic_iochannel(void *opaque); - #define BLOCKDEV_YANK_INSTANCE(the_node_name) (&(YankInstance) { \ .type = YANK_INSTANCE_TYPE_BLOCK_NODE, \ .u.block_node.node_name = (the_node_name) }) diff --git a/migration/channel.c b/migration/channel.c index 35fe234e9c..c9ee902021 100644 --- a/migration/channel.c +++ b/migration/channel.c @@ -20,6 +20,7 @@ #include "io/channel-tls.h" #include "io/channel-socket.h" #include "qemu/yank.h" +#include "yank_functions.h" /** * @migration_channel_process_incoming - Create new incoming migration channel @@ -38,7 +39,8 @@ void migration_channel_process_incoming(QIOChannel *ioc) ioc, object_get_typename(OBJECT(ioc))); if (object_dynamic_cast(OBJECT(ioc), TYPE_QIO_CHANNEL_SOCKET)) { - yank_register_function(MIGRATION_YANK_INSTANCE, yank_generic_iochannel, + yank_register_function(MIGRATION_YANK_INSTANCE, + migration_yank_iochannel, QIO_CHANNEL(ioc)); } @@ -76,7 +78,7 @@ void migration_channel_connect(MigrationState *s, if (!error) { if (object_dynamic_cast(OBJECT(ioc), TYPE_QIO_CHANNEL_SOCKET)) { yank_register_function(MIGRATION_YANK_INSTANCE, - yank_generic_iochannel, + migration_yank_iochannel, QIO_CHANNEL(ioc)); } diff --git a/migration/meson.build b/migration/meson.build index 9645f44005..2cfa8eed72 100644 --- a/migration/meson.build +++ b/migration/meson.build @@ -6,6 +6,7 @@ migration_files = files( 'vmstate.c', 'qemu-file-channel.c', 'qemu-file.c', + 'yank_functions.c', ) softmmu_ss.add(migration_files) diff --git a/migration/multifd.c b/migration/multifd.c index 03527c564c..a6677c45c8 100644 --- a/migration/multifd.c +++ b/migration/multifd.c @@ -27,6 +27,7 @@ #include "qemu/yank.h" #include "io/channel-socket.h" +#include "yank_functions.h" /* Multiple fd's */ @@ -989,7 +990,7 @@ int multifd_load_cleanup(Error **errp) if (object_dynamic_cast(OBJECT(p->c), TYPE_QIO_CHANNEL_SOCKET) && OBJECT(p->c)->ref == 1) { yank_unregister_function(MIGRATION_YANK_INSTANCE, - yank_generic_iochannel, + migration_yank_iochannel, QIO_CHANNEL(p->c)); } diff --git a/migration/qemu-file-channel.c b/migration/qemu-file-channel.c index afc3a7f642..876d05a540 100644 --- a/migration/qemu-file-channel.c +++ b/migration/qemu-file-channel.c @@ -28,6 +28,7 @@ #include "io/channel-socket.h" #include "qemu/iov.h" #include "qemu/yank.h" +#include "yank_functions.h" static ssize_t channel_writev_buffer(void *opaque, @@ -108,7 +109,7 @@ static int channel_close(void *opaque, Error **errp) if (object_dynamic_cast(OBJECT(ioc), TYPE_QIO_CHANNEL_SOCKET) && OBJECT(ioc)->ref == 1) { yank_unregister_function(MIGRATION_YANK_INSTANCE, - yank_generic_iochannel, + migration_yank_iochannel, QIO_CHANNEL(ioc)); } object_unref(OBJECT(ioc)); diff --git a/migration/yank_functions.c b/migration/yank_functions.c new file mode 100644 index 0000000000..96c90e17dc --- /dev/null +++ b/migration/yank_functions.c @@ -0,0 +1,20 @@ +/* + * migration yank functions + * + * Copyright (c) Lukas Straub + * + * This work is licensed under the terms of the GNU GPL, version 2 or later. + * See the COPYING file in the top-level directory. + */ + +#include "qemu/osdep.h" +#include "qapi/error.h" +#include "io/channel.h" +#include "yank_functions.h" + +void migration_yank_iochannel(void *opaque) +{ + QIOChannel *ioc = QIO_CHANNEL(opaque); + + qio_channel_shutdown(ioc, QIO_CHANNEL_SHUTDOWN_BOTH, NULL); +} diff --git a/migration/yank_functions.h b/migration/yank_functions.h new file mode 100644 index 0000000000..055ea22523 --- /dev/null +++ b/migration/yank_functions.h @@ -0,0 +1,17 @@ +/* + * migration yank functions + * + * Copyright (c) Lukas Straub + * + * This work is licensed under the terms of the GNU GPL, version 2 or later. + * See the COPYING file in the top-level directory. + */ + +/** + * migration_yank_iochannel: yank function for iochannel + * + * This yank function will call qio_channel_shutdown on the provided QIOChannel. + * + * @opaque: QIOChannel to shutdown + */ +void migration_yank_iochannel(void *opaque); diff --git a/stubs/yank.c b/stubs/yank.c index 6090416065..11b24fc057 100644 --- a/stubs/yank.c +++ b/stubs/yank.c @@ -21,9 +21,3 @@ void yank_unregister_function(const YankInstance *instance, void *opaque) { } - -void yank_generic_iochannel(void *opaque) -{ -} - - diff --git a/util/yank.c b/util/yank.c index fc08f65209..abf47c346d 100644 --- a/util/yank.c +++ b/util/yank.c @@ -15,7 +15,6 @@ #include "qapi/qapi-commands-yank.h" #include "qapi/qapi-visit-yank.h" #include "qapi/clone-visitor.h" -#include "io/channel.h" #include "qemu/yank.h" struct YankFuncAndParam { @@ -151,13 +150,6 @@ void yank_unregister_function(const YankInstance *instance, abort(); } -void yank_generic_iochannel(void *opaque) -{ - QIOChannel *ioc = QIO_CHANNEL(opaque); - - qio_channel_shutdown(ioc, QIO_CHANNEL_SHUTDOWN_BOTH, NULL); -} - void qmp_yank(YankInstanceList *instances, Error **errp) { From patchwork Tue Mar 23 17:52:46 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Lukas Straub X-Patchwork-Id: 1457399 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; secure) header.d=web.de header.i=@web.de header.a=rsa-sha256 header.s=dbaedf251592 header.b=OHFGwBfB; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4F4fFH5Tz7z9sTD for ; Wed, 24 Mar 2021 04:56:35 +1100 (AEDT) Received: from localhost ([::1]:55502 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lOlGb-0005bP-Mh for incoming@patchwork.ozlabs.org; Tue, 23 Mar 2021 13:56:33 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:46036) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lOlD4-00086b-8D for qemu-devel@nongnu.org; Tue, 23 Mar 2021 13:52:54 -0400 Received: from mout.web.de ([212.227.15.3]:44983) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lOlD2-0001Cu-DJ for qemu-devel@nongnu.org; Tue, 23 Mar 2021 13:52:53 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=dbaedf251592; t=1616521967; bh=zUdGo1OnzyqA9eycEoVcse+6uvgmYOW5MxPL6wmbyxc=; h=X-UI-Sender-Class:Date:From:To:Cc:Subject:In-Reply-To:References; b=OHFGwBfBuBDeFhl/dYosJxWoWORosO2ddgHZsQOtnY7M/uj+JA1yay8buHJuMvJOZ wosbP6ksSta7IbWMfOaqZdIDIJ4UUtsu4PAYV8L+yDv2fWycIQV7EU+pPkfF6g1s/q 790YJ7hO4ptNUpPIp5nRLV2VGn63NLKxz/NVCGfI= X-UI-Sender-Class: c548c8c5-30a9-4db5-a2e7-cb6cb037b8f9 Received: from gecko.fritz.box ([88.130.61.81]) by smtp.web.de (mrweb004 [213.165.67.108]) with ESMTPSA (Nemesis) id 0MC6ZE-1lXWdL1sx6-008sA7; Tue, 23 Mar 2021 18:52:47 +0100 Date: Tue, 23 Mar 2021 18:52:46 +0100 From: Lukas Straub To: qemu-devel Subject: [PATCH 2/2] yank: Always link full yank code Message-ID: <997aa12a28c555d8a3b7a363b3bda5c3cf1821ba.1616521341.git.lukasstraub2@web.de> In-Reply-To: References: MIME-Version: 1.0 X-Provags-ID: V03:K1:3IbK5rWgZPrInP9/h6THvofeLlqiZHbgYwKKJDMVc93i7Tim+hV ZvNjL4E6V4CKjL7RmJ4e6RBv78uweIe3lUqnlQlxDUPg9inrX7FxJRdORzWzR30PUIZxgO+ d9ACYtw7Te8JHoGClDNygwa8SvZtDwm1S5rn8oH8Y4xe1Z1u/cP1TrEQkx8UsGNOhR6zq9S BRKZeHKFnS4E2r/CkOz0A== X-UI-Out-Filterresults: notjunk:1;V03:K0:hQW59kK4kB8=:3UFd4bNmLr9aEt3wdUrVcX rO51Y8LGR94QYbXfnVnyil0saZseTzPMwrvPVrn+hhCHDkaBmB0+GKgFn61esI08pLHDzZIKF m0/fUBp0DMiwd+gLl7/3Cusc3a6pfs7vH/m7pcGBs2llzYRbUjlzE6hmqES9SRJYYNmak705D 8lhwU6FpxmUo+716GP0L6D3Pxh49a2506Ac/MrLvruTB46ahDML3TgtRc5+H3ojI4e/GUKyBs KeGdmbpddQmfkmx+5C3uBZIzJFVBno37sgCPsMHRaT5T1XKa9DX2lGuGY+SbW74mbQSrpkL2u nCGPfUuxgLSLm33M67AUOPlEBWwB9KUNUZUpNGkGYcI8/QnfqMaK5Bd3vv9/Wop5t5uzFBgRW nim56HZvHdFtF4SD2hxSzFbofDI2+jfMaNDUcMKt8qtcMK8xHCch8NgAVyShm/ACk+cJwDXhq hNdMj/6kbAlpLdozMicX0Guprc7WNTo2naWmXZsjPy+ywCZGNsarUfNlN6VL5roIz0vDoy2x/ feakH7mcNTw1O2cviIHusvGZ/kUUBEa/ydEGNZ0BNvMUTG95aL9sZOCTvLKfrVoqHKTG8r66x jR6ak4+RhxIDr18vGfmCHV1syWOaRHogH9jrFzmC7hahKGJR4TwYm/7BgazyFJmz/kXTfTD2U FT6QDZC5QutgIWy1+0jRn/59ULbtk8dAXi3jd/m4POpibQBI5i4XAs9/pFK7Ps3/eJ5iMvy91 nm1gBXk0qC+8Kt1veJx0/zcknDaM7nDNygJh6QTZ0pAzaELeDRQK35vyjXCiN+vOOQcYt3LzO gkhPEAb+tR4eKgp52/EIw7b4uPSX/QSCERs0IE0/1prCA+rJWpaXIRLR2D5iS/FLMsgLMnIDh +tSyg3/Bn19eAXLA7F37UEGAwhoWw3YUg0Uul4xuld5a9EOzASlb3F06by3C0FEZ331oRZxW9 Ti/qBZ5G4tgNWANR5p4MO/+hyqn5lYNflWtj3qrMBhw+u6bAR9lhXMIOkiVvuALNCl9LuXvGY RpUlr2j8Ds8+Cl1HY9BmVPV768WrxusCXlY4xKIBrlr3momC99n0FmraNv3OqAEArsHpc9iMN SJS2YOZE6TVFsOL30pAD4DU3GHmIQb7DzsaRHaPYpCkltj4aO7mPChHwh+FnnwBBAiBmBgz1y uFyACI+mTwZmFvT43e3BuGrn1ivqhK25EXDLkNVW4GLekdbf77q5/M9imhUV+xvDv0WSE= Received-SPF: pass client-ip=212.227.15.3; envelope-from=lukasstraub2@web.de; helo=mout.web.de X-Spam_score_int: -24 X-Spam_score: -2.5 X-Spam_bar: -- X-Spam_report: (-2.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Paolo Bonzini , Thomas Huth , Alex Bennee , Markus Armbruster Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" Yank now only depends on util and can be always linked in. Also remove the stubs as they are not needed anymore. Signed-off-by: Lukas Straub Reviewed-by: Thomas Huth Reviewed-by: Marc-André Lureau --- MAINTAINERS | 1 - stubs/meson.build | 1 - stubs/yank.c | 23 ----------------------- util/meson.build | 2 +- 4 files changed, 1 insertion(+), 26 deletions(-) delete mode 100644 stubs/yank.c -- 2.30.2 diff --git a/MAINTAINERS b/MAINTAINERS index 455775c4a3..77259c031d 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -2820,7 +2820,6 @@ Yank feature M: Lukas Straub S: Odd fixes F: util/yank.c -F: stubs/yank.c F: migration/yank_functions* F: include/qemu/yank.h F: qapi/yank.json diff --git a/stubs/meson.build b/stubs/meson.build index 8a3e804cf0..be6f6d609e 100644 --- a/stubs/meson.build +++ b/stubs/meson.build @@ -46,7 +46,6 @@ stub_ss.add(files('vm-stop.c')) stub_ss.add(files('win32-kbd-hook.c')) stub_ss.add(files('cpu-synchronize-state.c')) if have_block - stub_ss.add(files('yank.c')) stub_ss.add(files('replay-tools.c')) endif if have_system diff --git a/stubs/yank.c b/stubs/yank.c deleted file mode 100644 index 11b24fc057..0000000000 --- a/stubs/yank.c +++ /dev/null @@ -1,23 +0,0 @@ -#include "qemu/osdep.h" -#include "qemu/yank.h" - -bool yank_register_instance(const YankInstance *instance, Error **errp) -{ - return true; -} - -void yank_unregister_instance(const YankInstance *instance) -{ -} - -void yank_register_function(const YankInstance *instance, - YankFn *func, - void *opaque) -{ -} - -void yank_unregister_function(const YankInstance *instance, - YankFn *func, - void *opaque) -{ -} diff --git a/util/meson.build b/util/meson.build index 984fba965f..510765cde4 100644 --- a/util/meson.build +++ b/util/meson.build @@ -43,6 +43,7 @@ util_ss.add(files('stats64.c')) util_ss.add(files('systemd.c')) util_ss.add(when: 'CONFIG_POSIX', if_true: files('drm.c')) util_ss.add(files('guest-random.c')) +util_ss.add(files('yank.c')) if have_user util_ss.add(files('selfmap.c')) @@ -51,7 +52,6 @@ endif if have_system util_ss.add(files('crc-ccitt.c')) util_ss.add(when: 'CONFIG_GIO', if_true: [files('dbus.c'), gio]) - util_ss.add(files('yank.c')) util_ss.add(when: 'CONFIG_LINUX', if_true: files('userfaultfd.c')) endif