From nobody Sat May 30 17:43:30 2026 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1779312949; cv=none; d=zohomail.com; s=zohoarc; b=ZDHayOGeIXwl3Ys8Q/wFpLiJ8OYS8xcBv0M8iIpiaCvO3H71GQxf8ZaWkmYFgsc0iBTfZaLxlRSpHG3nxlOzZjJ2b/89ZYlc372nRLx3Gv77HBIK5PNS1NKo0M71YNMOh8VacoCzwFJohpvKiZUENaU57tsEtVLwc5Gh8dScfE4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779312949; h=Content-Type: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=Av+kt2qGFE219m05KfncIX215HPEdoJL5n4U5TvcwDk=; b=WW8TW/mzbi2boVRkb7vvyZDh3PxHaMqT2b8oOSDMqfCLpLCXDSBgul/SCsSQa5MkVRgn7VYic8ri6ylQJ6XnsVIa8bkr4Dm7fhgGga9JFtsJr3vevywnDgaXFOw0Cdyz6kzvRU5c2QstZilCkRarwz0WCwPA+VmB4Djmvw/3hWw= 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=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1779312949165215.11216835722996; Wed, 20 May 2026 14:35:49 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wPoYN-0000xi-AL; Wed, 20 May 2026 17:34:11 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wPoYM-0000xG-9j for qemu-devel@nongnu.org; Wed, 20 May 2026 17:34:10 -0400 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 1wPoYK-00078d-1d for qemu-devel@nongnu.org; Wed, 20 May 2026 17:34:10 -0400 Received: from mail-qv1-f72.google.com (mail-qv1-f72.google.com [209.85.219.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-211-CKZnYt-fPvKEmd9wiwUtzA-1; Wed, 20 May 2026 17:34:05 -0400 Received: by mail-qv1-f72.google.com with SMTP id 6a1803df08f44-8aca29dcd69so155636726d6.1 for ; Wed, 20 May 2026 14:34:05 -0700 (PDT) Received: from x1.com ([142.189.10.167]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-8ca360b362fsm133062716d6.22.2026.05.20.14.34.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 May 2026 14:34:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1779312847; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Av+kt2qGFE219m05KfncIX215HPEdoJL5n4U5TvcwDk=; b=gOV8oTZAil0j6eukrcqZiyiFcMO8NRBKy51Yf5gBeDtSYKEuXF+x1NRB4gMLPN7eQ8AFGY aSp7arPoM0dxSIErN8U6B+UkiF6Y6Th+EfrRaqs2dpQ3kDQtDydeHXy9Xl97TruNC4Om1O OF/M4Pebo75V0X1pJoYr7A2HVBwAouA= X-MC-Unique: CKZnYt-fPvKEmd9wiwUtzA-1 X-Mimecast-MFC-AGG-ID: CKZnYt-fPvKEmd9wiwUtzA_1779312845 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1779312845; x=1779917645; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Av+kt2qGFE219m05KfncIX215HPEdoJL5n4U5TvcwDk=; b=Kejsqi1aC0EJTCkBG7SjmoFcijfGZJGxhuKWi+C/FJCyn4FScq80U6sBwfGfdSkTkI IasJYP3btZBgv+8TwUyZRQnQwv59Q9dr7N6ug1ZrwbElMZUCd8mwfFh13HaOyFRmvjCg 7GuJJp254nsQQmLK/xgnVX94ew7cmCxtrlrJMjRJPb3ECxEulz9TKi4z6P1kVnXt5MHZ GItMPr1Y1pGi56G6zMChmz3xwIV93Ismu4TnQqmH/qJ8jYzT1EOBIKe7qbk3Dpu7O6PQ qFXxYT0tTg+2vwP78WtoHij5Sahqb3s80G2RkjR4WCiOYjhQYu3FqPp80WRxphbUv5u9 fscw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779312845; x=1779917645; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=Av+kt2qGFE219m05KfncIX215HPEdoJL5n4U5TvcwDk=; b=ZOOT5STV4vRoZUcfPsrDqHbN3QpIEOe7901ntAlMyhWMBiIC5W017mpZXJew2hRHTt CIMTXQWHv1O8954AwOHImmAdNMXzK12Fg6v6eyO9YTFSgKNHuj1ZLtRJgg5yD2cmM/Rt UaRR0jxQCEDyAzZpNgsK0efCRDReA+++YS4mbdF3TJCDUBn3CS0HGl7XmxbVkih2/jL5 c1DhMXZP6+mB0iwB0QrIqLA2alX7SHxzPk2GBlgpDzXF6hZupQ7/13oKm+XUvzgXgc87 0LHazvnM4lLFiBiLEH2b1vaV+JFjSH3LOPmv3BIdDavghIfmbmpxiSvWtYCfzhtdHqMy LuQQ== X-Gm-Message-State: AOJu0Ywq9pV4nGgImTRvFVJjGXlpafnCj/rBDs/0QjYxvbVNvW+43Tic glIpLK49HDlnKvujEBU0xJhrvMLK/E8vkn5v5gpJAZHAEdlCvON5Ip7WPf8+CnWtIlxddVKvXWY WFPeiwjsezooulDmlSjFRVuO+dp9JIL+pqfYsAB+uQf/eFteCtRE7O6dA1cFw9P9JrTdf2ycYEb Zwj0+D80wG3DlptzE4SUbndKZggC/lMsoAfA56yw== X-Gm-Gg: Acq92OH2Mhg//jiu6z3a58qJhtPcximpjBE+cXHuMaHYF7Z89O5P+YfMpJlORorcPvu M62zf/bG8QrxZ8rISnAVu59fw2Q+C4pDhPVtGqe58tgkftg+S0bMPO8H4HcOfmBhs/IKBqu70Fx L4lwuHQx8Cspxyr0xVpB8iIY5nTmlmC+hzRtvK6QxFl6vkVSFA9rtB5WkAm6JuY/sYe+m5io7vA z9O1pHtJj6V+qE1V9cfJ5A9YiiwOedQLV+5AxsR/W5LrfUKJbVGhNKuqTKynfYGbIFDP2+nDh6r H65Yjle7r0kFMbJYoJcXEaOuuFNEH2PaOUHnSxudUv3tn1RxIt0EH7YvP99m5ezob/kSuEDW7Qh I2Ao1a8xYKs2tSQQ1jEeC2xd1uAcqPAG/eE/Kea2Pys7n9wsU+njcaxM= X-Received: by 2002:a05:6214:4884:b0:8ca:105f:91d6 with SMTP id 6a1803df08f44-8cc6e347507mr4567186d6.21.1779312844961; Wed, 20 May 2026 14:34:04 -0700 (PDT) X-Received: by 2002:a05:6214:4884:b0:8ca:105f:91d6 with SMTP id 6a1803df08f44-8cc6e347507mr4566366d6.21.1779312844390; Wed, 20 May 2026 14:34:04 -0700 (PDT) From: Peter Xu To: qemu-devel@nongnu.org Cc: Fabiano Rosas , Peter Xu , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= Subject: [PULL 01/29] migration: Fix crash on second migration when cancel early Date: Wed, 20 May 2026 17:33:29 -0400 Message-ID: <20260520213357.40646-2-peterx@redhat.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260520213357.40646-1-peterx@redhat.com> References: <20260520213357.40646-1-peterx@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=lists1p.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: -24 X-Spam_score: -2.5 X-Spam_bar: -- X-Spam_report: (-2.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.445, 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_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-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.29 Precedence: list List-Id: qemu development 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: 1779312949941158502 Marc-Andr=C3=A9 reported an issue on QEMU crash when retrying a cancelled migration during early setup phase, see "Link:" for more information, and also easy way to reproduce. This patch is a replacement of the prior fix proposed by not only switching to migration_cleanup(), but also fixing it from CPR side, so that we track hup_source properly to know if src QEMU is waiting or the HUP signal. To put it simple: this chunk of special casing in migration_cancel() should not affect normal migration, but only cpr-transfer migration to cover the small window when the src QEMU is waiting for a HUP signal on cpr channel (so that src QEMU can continue the migration on the main channel). To achieve that, we'll also need to remember to detach the hup_source whenenver invoked: after that point, we should always be able to cleanup the migration. It's not a generic operation to explicitly detach a gsource from its context while in its dispatch() function. But it should be safe, because gsource disptch() will only happen with a boosted refcount for the dispatcher so that the gsource will not be freed until the callback completes. It's also safe to return G_SOURCE_REMOVE after the gsource is detached, as glib will simply ignore the G_SOURCE_REMOVE. One can refer to latest 2.86.5 glib code in g_main_dispatch() for that: https://github.com/GNOME/glib/blob/2.86.5/glib/gmain.c#L3592 When at this, add a bunch of assertions to make sure nothing surprises us. After this patch applied, the 2nd migration will not crash QEMU, instead it'll be in CANCELLING until the socket connection times out (it will take ~2min on my Fedora default kernel). During this process no 2nd migration will be allowed, and after it timed out migration can be restarted. It's because so far we don't have control over socket_connect_outgoing(), or anything yet managed by a task executed in qio_task_run_in_thread(). Speeding up the cancellation to be left for future. I also tested cpr-transfer by only providing cpr channel not the main channel (with -incoming defer), kickoff migration on source, then cancel it on source directly without providing the main channel. It keeps working. I wanted to add an unit test for that but it'll need to refactor current cpr-transfer tests first; let's leave it for later. Link: https://lore.kernel.org/r/20260417184742.293061-1-marcandre.lureau@re= dhat.com Reported-by: Marc-Andr=C3=A9 Lureau Tested-by: Fabiano Rosas Reviewed-by: Fabiano Rosas Link: https://lore.kernel.org/r/20260421175820.302795-1-peterx@redhat.com Signed-off-by: Peter Xu --- include/migration/cpr.h | 1 + migration/migration.h | 5 +++++ migration/cpr-transfer.c | 10 ++++++++++ migration/migration.c | 31 +++++++++++++++++++++++-------- 4 files changed, 39 insertions(+), 8 deletions(-) diff --git a/include/migration/cpr.h b/include/migration/cpr.h index 96ce26e711..56fb67e6b4 100644 --- a/include/migration/cpr.h +++ b/include/migration/cpr.h @@ -57,6 +57,7 @@ QEMUFile *cpr_transfer_input(MigrationChannel *channel, E= rror **errp); void cpr_transfer_add_hup_watch(MigrationState *s, QIOChannelFunc func, void *opaque); void cpr_transfer_source_destroy(MigrationState *s); +bool cpr_transfer_source_active(MigrationState *s); =20 void cpr_exec_init(void); QEMUFile *cpr_exec_output(Error **errp); diff --git a/migration/migration.h b/migration/migration.h index a5e064a1ac..841f49b215 100644 --- a/migration/migration.h +++ b/migration/migration.h @@ -512,6 +512,11 @@ struct MigrationState { =20 bool postcopy_package_loaded; =20 + /* + * When set, it means cpr-transfer is waiting for the HUP signal from + * destination to continue the 2nd step of migration via the main + * channel. + */ GSource *hup_source; =20 /* diff --git a/migration/cpr-transfer.c b/migration/cpr-transfer.c index 61d5c9dce2..9defe7bad7 100644 --- a/migration/cpr-transfer.c +++ b/migration/cpr-transfer.c @@ -6,6 +6,7 @@ */ =20 #include "qemu/osdep.h" +#include "qemu/main-loop.h" #include "qapi/clone-visitor.h" #include "qapi/error.h" #include "qapi/qapi-visit-migration.h" @@ -79,6 +80,7 @@ QEMUFile *cpr_transfer_input(MigrationChannel *channel, E= rror **errp) void cpr_transfer_add_hup_watch(MigrationState *s, QIOChannelFunc func, void *opaque) { + assert(bql_locked()); s->hup_source =3D qio_channel_create_watch(cpr_state_ioc(), G_IO_HUP); g_source_set_callback(s->hup_source, (GSourceFunc)func, @@ -89,9 +91,17 @@ void cpr_transfer_add_hup_watch(MigrationState *s, QIOCh= annelFunc func, =20 void cpr_transfer_source_destroy(MigrationState *s) { + assert(bql_locked()); if (s->hup_source) { g_source_destroy(s->hup_source); g_source_unref(s->hup_source); s->hup_source =3D NULL; } } + +bool cpr_transfer_source_active(MigrationState *s) +{ + /* Whenever the HUP gsource is available, it's active. */ + assert(bql_locked()); + return s->hup_source; +} diff --git a/migration/migration.c b/migration/migration.c index ecc69dc4d2..b6f78eb3ac 100644 --- a/migration/migration.c +++ b/migration/migration.c @@ -1502,14 +1502,19 @@ void migration_cancel(void) } =20 /* - * If migration_connect_outgoing has not been called, then there - * is no path that will complete the cancellation. Do it now. - */ - if (setup && !s->to_dst_file) { - migrate_set_state(&s->state, MIGRATION_STATUS_CANCELLING, - MIGRATION_STATUS_CANCELLED); - cpr_state_close(); - cpr_transfer_source_destroy(s); + * This is cpr-transfer specific processing. + * + * If this is true, it means cpr-transfer migration is waiting for the + * destination to send HUP event on CPR channel to continue the next + * phase. If so, do the cleanup proactively to avoid get stuck in + * CANCELLING state. + */ + if (cpr_transfer_source_active(s)) { + assert(migrate_mode() =3D=3D MIG_MODE_CPR_TRANSFER); + assert(setup && !s->to_dst_file); + migration_cleanup(s); + /* Now all things should have been released */ + assert(!cpr_transfer_source_active(s)); } } =20 @@ -2045,12 +2050,22 @@ static gboolean migration_connect_outgoing_cb(QIOCh= annel *channel, MigrationState *s =3D migrate_get_current(); Error *local_err =3D NULL; =20 + /* + * Detach and release the GSource right after use. We rely on this to + * detect this small cpr-transfer window of "waiting for HUP event". + */ + cpr_transfer_source_destroy(s); + migration_connect_outgoing(s, opaque, &local_err); =20 if (local_err) { migration_connect_error_propagate(s, local_err); } =20 + /* + * This is redundant as we do cpr_transfer_source_destroy() at the + * entry, but it's benign; glib will just skip the detach. + */ return G_SOURCE_REMOVE; } =20 --=20 2.53.0 From nobody Sat May 30 17:43:30 2026 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1779312976; cv=none; d=zohomail.com; s=zohoarc; b=NQJZJaa/FBtSKG6G1bJtw6UVHI0Ou0qqniJoao3UxpxwCaoh6dlniv4/9jpwxtT7M4AbHbmfN0uc9xR3Cu9C0bDgdD2GzVlolGloOMrb6neTilgKME6+YzLWDSDdQatpe9QsprnYqZUNjuH14yqcJMkT48O6G4k/UfB5bsADxkg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779312976; h=Content-Type: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=y/FOPpomrl3+0V2dZRYto+HcFWAdZXe964znPRUTvqs=; b=Uf5gFfodBS8QEKJ+AyjizLil2LkdAWmudTyn/9Fert9Mk+P47HawjNp6n5mYw0/bBP5cadtWSqhZ+aJs/TYDCY3cgD11XgVxtr0e9uLX45B23JGe1wVyo8OSHvMEm/nVerLovViWPY5L9+wupRM4BYv+Y5DWQFIbexCIrN5+9vc= 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=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1779312976597710.9472639615985; Wed, 20 May 2026 14:36:16 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wPoYR-00011p-SD; Wed, 20 May 2026 17:34:16 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wPoYP-00011Z-VD for qemu-devel@nongnu.org; Wed, 20 May 2026 17:34:13 -0400 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 1wPoYN-00079E-JO for qemu-devel@nongnu.org; Wed, 20 May 2026 17:34:13 -0400 Received: from mail-qv1-f71.google.com (mail-qv1-f71.google.com [209.85.219.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-187-oBvr3sxDP3uGb4-MKSeWxQ-1; Wed, 20 May 2026 17:34:09 -0400 Received: by mail-qv1-f71.google.com with SMTP id 6a1803df08f44-8acb26fbbb2so30935156d6.2 for ; Wed, 20 May 2026 14:34:09 -0700 (PDT) Received: from x1.com ([142.189.10.167]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-8ca360b362fsm133062716d6.22.2026.05.20.14.34.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 May 2026 14:34:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1779312850; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=y/FOPpomrl3+0V2dZRYto+HcFWAdZXe964znPRUTvqs=; b=NtRvrSrLMHQJOZWHvg9tsDAZtKsaa3xhnwDD0vI9TqcPdbCehy+eZmTeqA4jsCKlJv8HWQ sE8vObxEzAg4jD8TuTom5PTXse/J49ZYmIrSic0YJR3UShPhbL46zRYL3m8/WU/YFYPX3i iqIYeUflghH30ZPyVS6fS7vIVJMNV5s= X-MC-Unique: oBvr3sxDP3uGb4-MKSeWxQ-1 X-Mimecast-MFC-AGG-ID: oBvr3sxDP3uGb4-MKSeWxQ_1779312849 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1779312849; x=1779917649; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=y/FOPpomrl3+0V2dZRYto+HcFWAdZXe964znPRUTvqs=; b=Jzgu+NHhJEwWlUCMWeNRn+P73gXCUT1hxnjgeed3B4IurAS91HqE8WOppGgriEOKEn DEpyZDFJRaGOaNE6VEtDz0ifxEE2eqbN5GMlgth79+L5UV9vFx3kYoIh3ezcJXaAOAV2 xRDWaSEfVIaxCM0W63iCu0c9XHNyG/dXFZl5qYkYgEsOuvHhmwvtpBEjc2PGmebX3nme vwVoo0WUcO0WsHJxMggp3hlNK9eTKGkNHrzlBIiSqc52wZm4+eFw00cz8RSiF/x0Funt CuHh+wD0vUYDSSu9ofuHLxl/64UDiGJGnVxpIArut0GU/8CKgG6MLQTMDJSBaJ8ySFWs aeFA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779312849; x=1779917649; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=y/FOPpomrl3+0V2dZRYto+HcFWAdZXe964znPRUTvqs=; b=XrS2UQo+xC1iw60u62LebjD+yX8qynvc1U1O3rqt2EGlAum8n+yFAALVjf6834KMh8 DepUvNDYYkJm9x7T+priLyAdQ3isPg7ORayRhgj7fobpXTGfzbStmQybCMwnvoNERiCC /uBLpHm96cxbmWmCdjgTiCeS1q6wP8QCMCdIVZalEG9SzXQQ8gX4ngiPhgZci3yIi9r8 SKgmjZ9Vz/8tmFk3DhmuIntyCrWoJWYBoYf7o/OTiSWCEusMWy8Y/7pqeRcTRsnUaWTp wqMM7ugBnApufOb9qwVCnx0fcLbDVoiTmJgdASXhpDgy+ZqnB80lWjzexw7ugBH0B0Wy DwBg== X-Gm-Message-State: AOJu0YwvftvxqTa4OMN9qqimvTHXR1AdpMEeY8kTxFq5mHLwtGdIPcgP akAe1Ap+QXC3MU7298sjNmeLO6h0UT57ML1he334x+3fAH4pBH9H//BMfUpsJDsH7Fn1kfX2juU f5O8I/bPdK07Y9y60B5KO1Yp+0UnarYkjxjI52CE1mWWZ0F/lAIk+wP9a3NGzpALc76HDpCScvE 7ZhVtgSnXBfLgeAIyP8w+FpkACjIW6TuWHGV7z4g== X-Gm-Gg: Acq92OH+iyWtBbp/NDuQ5dSNheOEXZV0j6XiPqN7RlPOJBhpxy10/zcCPuQHW5O3E9Q Rc0iIjuZtulN1LY7YuYp3Re1Cuu9gX30+F24Js0S5FJU7j/vh/4c7PZhK/nOskgfgKxsBTAcAaL alMtQVVk3Pzan/JGj/j5XPYp1kMAiQNqXaBCi0AAcBWtY7jLLaVDwRVuph/QnLm0GBDVkTgHVlE a+dHo4rnKffaxHpMlFjbJPUr1Jsi3MW0Rrr4xVmVZYgAiQFn4SwNFyOKRmzG9FBKun6jO2g+UJX LZSbELOZ/mbeycX28rWrC2l+zb/o8bAD/PMGafr5gDFPIEWoGPBWtxgY1eREwyEMaz0SFlnU67L u7iDfvG6jUJsr3k+swa0/xnVoI9J6Vq1oQKxW7+8y7iuzexHAvILoFYI= X-Received: by 2002:a05:6214:5f12:b0:8ae:3e38:54ca with SMTP id 6a1803df08f44-8cc6e2048edmr5666146d6.0.1779312848553; Wed, 20 May 2026 14:34:08 -0700 (PDT) X-Received: by 2002:a05:6214:5f12:b0:8ae:3e38:54ca with SMTP id 6a1803df08f44-8cc6e2048edmr5665396d6.0.1779312847829; Wed, 20 May 2026 14:34:07 -0700 (PDT) From: Peter Xu To: qemu-devel@nongnu.org Cc: Fabiano Rosas , Peter Xu , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Manos Pitsidianakis Subject: [PULL 02/29] migration: Remove VMS_MULTIPLY_ELEMENTS and VMSTATE_VARRAY_MULTIPLY() Date: Wed, 20 May 2026 17:33:30 -0400 Message-ID: <20260520213357.40646-3-peterx@redhat.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260520213357.40646-1-peterx@redhat.com> References: <20260520213357.40646-1-peterx@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=lists1p.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: -24 X-Spam_score: -2.5 X-Spam_bar: -- X-Spam_report: (-2.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.445, 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_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-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.29 Precedence: list List-Id: qemu development 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: 1779312978382158500 From: Philippe Mathieu-Daud=C3=A9 Commit c1eb3ac3468 ("target/sparc: Replace VMSTATE_VARRAY_MULTIPLY -> VMSTATE_UINTTL_ARRAY") removed the last use of the VMSTATE_VARRAY_MULTIPLY() macro. We can now remove it as unnecessary, along with the VMS_MULTIPLY_ELEMENTS flag and the associated tests. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Fabiano Rosas Reviewed-by: Manos Pitsidianakis Acked-by: Manos Pitsidianakis Link: https://lore.kernel.org/r/20260507070228.48877-1-philmd@linaro.org Signed-off-by: Peter Xu --- include/migration/vmstate.h | 22 ++---------- migration/vmstate.c | 4 --- rust/bindings/migration-sys/lib.rs | 8 ----- rust/migration/src/vmstate.rs | 3 +- rust/tests/tests/vmstate_tests.rs | 55 ------------------------------ 5 files changed, 4 insertions(+), 88 deletions(-) diff --git a/include/migration/vmstate.h b/include/migration/vmstate.h index 28e3640e60..0a8a2e85a6 100644 --- a/include/migration/vmstate.h +++ b/include/migration/vmstate.h @@ -105,7 +105,7 @@ enum VMStateFlags { VMS_ARRAY_OF_POINTER =3D 0x040, =20 /* The field is an array of variable size. The uint16_t at opaque - * + VMStateField.num_offset (subject to VMS_MULTIPLY_ELEMENTS) + * + VMStateField.num_offset * contains the number of entries in the array. See the VMS_ARRAY * description regarding array handling in general. May not be * combined with VMS_ARRAY or any other VMS_VARRAY*. */ @@ -126,14 +126,14 @@ enum VMStateFlags { VMS_MULTIPLY =3D 0x200, =20 /* The field is an array of variable size. The uint8_t at opaque + - * VMStateField.num_offset (subject to VMS_MULTIPLY_ELEMENTS) + * VMStateField.num_offset * contains the number of entries in the array. See the VMS_ARRAY * description regarding array handling in general. May not be * combined with VMS_ARRAY or any other VMS_VARRAY*. */ VMS_VARRAY_UINT8 =3D 0x400, =20 /* The field is an array of variable size. The uint32_t at opaque - * + VMStateField.num_offset (subject to VMS_MULTIPLY_ELEMENTS) + * + VMStateField.num_offset * contains the number of entries in the array. See the VMS_ARRAY * description regarding array handling in general. May not be * combined with VMS_ARRAY or any other VMS_VARRAY*. */ @@ -150,12 +150,6 @@ enum VMStateFlags { * cause the individual entries to be allocated. */ VMS_ALLOC =3D 0x2000, =20 - /* Multiply the number of entries given by the integer at opaque + - * VMStateField.num_offset (see VMS_VARRAY*) with VMStateField.num - * to determine the number of entries in the array. Only valid in - * combination with one of VMS_VARRAY*. */ - VMS_MULTIPLY_ELEMENTS =3D 0x4000, - /* A structure field that is like VMS_STRUCT, but uses * VMStateField.struct_version_id to tell which version of the * structure we are referencing to use. */ @@ -446,16 +440,6 @@ extern const VMStateInfo vmstate_info_qlist; .offset =3D vmstate_offset_2darray(_state, _field, _type, _n1, _n2= ), \ } =20 -#define VMSTATE_VARRAY_MULTIPLY(_field, _state, _field_num, _multiply, _in= fo, _type) { \ - .name =3D (stringify(_field)), \ - .num_offset =3D vmstate_offset_value(_state, _field_num, uint32_t),\ - .num =3D (_multiply), \ - .info =3D &(_info), \ - .size =3D sizeof(_type), \ - .flags =3D VMS_VARRAY_UINT32|VMS_MULTIPLY_ELEMENTS, \ - .offset =3D vmstate_offset_varray(_state, _field, _type), \ -} - #define VMSTATE_SUB_ARRAY(_field, _state, _start, _num, _version, _info, _= type) { \ .name =3D (stringify(_field)), \ .version_id =3D (_version), \ diff --git a/migration/vmstate.c b/migration/vmstate.c index 2f13b48a37..6fa7523f04 100644 --- a/migration/vmstate.c +++ b/migration/vmstate.c @@ -100,10 +100,6 @@ static int vmstate_n_elems(void *opaque, const VMState= Field *field) n_elems =3D *(uint8_t *)(opaque + field->num_offset); } =20 - if (field->flags & VMS_MULTIPLY_ELEMENTS) { - n_elems *=3D field->num; - } - trace_vmstate_n_elems(field->name, n_elems); return n_elems; } diff --git a/rust/bindings/migration-sys/lib.rs b/rust/bindings/migration-s= ys/lib.rs index 7ee30a3f7d..9581481e42 100644 --- a/rust/bindings/migration-sys/lib.rs +++ b/rust/bindings/migration-sys/lib.rs @@ -114,12 +114,4 @@ pub const fn with_varray_flag(mut self, flag: VMStateF= lags) -> Self { assert!((self.flags.0 & VMStateFlags::VMS_ARRAY.0) !=3D 0); self.with_varray_flag_unchecked(flag) } - - #[must_use] - pub const fn with_varray_multiply(mut self, num: u32) -> Self { - assert!(num <=3D 0x7FFF_FFFFu32); - self.flags =3D VMStateFlags(self.flags.0 | VMStateFlags::VMS_MULTI= PLY_ELEMENTS.0); - self.num =3D num as i32; - self - } } diff --git a/rust/migration/src/vmstate.rs b/rust/migration/src/vmstate.rs index f34a36f680..63d78b4f27 100644 --- a/rust/migration/src/vmstate.rs +++ b/rust/migration/src/vmstate.rs @@ -159,8 +159,7 @@ macro_rules! vmstate_of { )$(.with_varray_flag($crate::call_func_with_field!( $crate::vmstate::vmstate_varray_flag, $struct_name, - $($num).+)) - $(.with_varray_multiply($factor))?)? + $($num).+)))? } }; } diff --git a/rust/tests/tests/vmstate_tests.rs b/rust/tests/tests/vmstate_t= ests.rs index 87176a8099..c2c12cfab5 100644 --- a/rust/tests/tests/vmstate_tests.rs +++ b/rust/tests/tests/vmstate_tests.rs @@ -118,34 +118,6 @@ fn test_vmstate_varray_uint16_unsafe() { assert!(foo_fields[2].field_exists.is_none()); } =20 -#[test] -fn test_vmstate_varray_multiply() { - let foo_fields: &[VMStateField] =3D - unsafe { slice::from_raw_parts(VMSTATE_FOOA.as_ref().fields, 5) }; - - // 4th VMStateField ("arr_mul") in VMSTATE_FOOA (corresponding to - // VMSTATE_VARRAY_MULTIPLY) - assert_eq!( - unsafe { CStr::from_ptr(foo_fields[3].name) }.to_bytes_with_nul(), - b"arr_mul\0" - ); - assert_eq!(foo_fields[3].offset, 6); - assert_eq!(foo_fields[3].num_offset, 12); - assert_eq!(foo_fields[3].info, unsafe { &vmstate_info_int8 }); - assert_eq!(foo_fields[3].version_id, 0); - assert_eq!(foo_fields[3].size, 1); - assert_eq!(foo_fields[3].num, 16); - assert_eq!( - foo_fields[3].flags.0, - VMStateFlags::VMS_VARRAY_UINT32.0 | VMStateFlags::VMS_MULTIPLY_ELE= MENTS.0 - ); - assert!(foo_fields[3].vmsd.is_null()); - assert!(foo_fields[3].field_exists.is_none()); - - // The last VMStateField in VMSTATE_FOOA. - assert_eq!(foo_fields[4].flags, VMStateFlags::VMS_END); -} - // =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D Test VMSTATE_FOOB =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D // Test the use cases of the vmstate macro, corresponding to the following= C // macro variants: @@ -256,33 +228,6 @@ fn test_vmstate_struct_varray_uint8() { assert!(foo_fields[2].field_exists.is_none()); } =20 -#[test] -fn test_vmstate_struct_varray_uint32_multiply() { - let foo_fields: &[VMStateField] =3D - unsafe { slice::from_raw_parts(VMSTATE_FOOB.as_ref().fields, 7) }; - - // 4th VMStateField ("arr_a_mul") in VMSTATE_FOOB (corresponding to - // (no C version) MULTIPLY variant of VMSTATE_STRUCT_VARRAY_UINT32) - assert_eq!( - unsafe { CStr::from_ptr(foo_fields[3].name) }.to_bytes_with_nul(), - b"arr_a_mul\0" - ); - assert_eq!(foo_fields[3].offset, 64); - assert_eq!(foo_fields[3].num_offset, 124); - assert!(foo_fields[3].info.is_null()); // VMSTATE_STRUCT_VARRAY_UINT8 = doesn't set info field. - assert_eq!(foo_fields[3].version_id, 2); - assert_eq!(foo_fields[3].size, 20); - assert_eq!(foo_fields[3].num, 32); - assert_eq!( - foo_fields[3].flags.0, - VMStateFlags::VMS_STRUCT.0 - | VMStateFlags::VMS_VARRAY_UINT32.0 - | VMStateFlags::VMS_MULTIPLY_ELEMENTS.0 - ); - assert_eq!(foo_fields[3].vmsd, VMSTATE_FOOA.as_ref()); - assert!(foo_fields[3].field_exists.is_none()); -} - #[test] fn test_vmstate_macro_array() { let foo_fields: &[VMStateField] =3D --=20 2.53.0 From nobody Sat May 30 17:43:30 2026 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1779312879; cv=none; d=zohomail.com; s=zohoarc; b=ZGTbPyt0LFrujv/EUmwny4Kd6XGCqL1dUrmeG/W6TshPcz1bxhpFQVdX0P4AyWY9f9bb5+bMAYMiEPajkitd9hy/QkBi+iW9UR1hwBM+3o6v95RAPLRI6OJlGGwuDUAgb/zba7f/Q2z6vDl6ipJX5FdsPegP5MoZtid/ZaA94Vs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779312879; 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=JarksJJvOXkWRCIzYOKZ6st1XxnR9hO1RJWv1BwlUzo=; b=L20IPE33WRXT/bZ84uUdEstDglSo1jTn2y3/NUQrKLV+o1S1qW22Vt6fVbZgr3UuoLtnmoGx+giT/+Ke19rGRUhncr+Zj5hoCLch4dflxvLtqbI5RypeuYlyKCJWjEkc0YyO6K1++laInSHz2JqcB6B5t9eVHHfJ9AdJv0f4RG0= 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=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1779312879557877.7971741859553; Wed, 20 May 2026 14:34:39 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wPoYT-00012L-GD; Wed, 20 May 2026 17:34:17 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wPoYS-000124-Fu for qemu-devel@nongnu.org; Wed, 20 May 2026 17:34:16 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wPoYQ-0007Bd-Mx for qemu-devel@nongnu.org; Wed, 20 May 2026 17:34:16 -0400 Received: from mail-qv1-f69.google.com (mail-qv1-f69.google.com [209.85.219.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-576-1n3JhGyVOUK3xLSZ8o9hkA-1; Wed, 20 May 2026 17:34:12 -0400 Received: by mail-qv1-f69.google.com with SMTP id 6a1803df08f44-8aca29dcd69so155641836d6.1 for ; Wed, 20 May 2026 14:34:12 -0700 (PDT) Received: from x1.com ([142.189.10.167]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-8ca360b362fsm133062716d6.22.2026.05.20.14.34.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 May 2026 14:34:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1779312853; 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=JarksJJvOXkWRCIzYOKZ6st1XxnR9hO1RJWv1BwlUzo=; b=InKPYBwMr5m2sMmLmDgreJ9LmxEJxYXEuhfWDGe/0sCA/pAqSU2qp7nyKVCG87s2pGv3TI 7By4FvRTTT4XS4c7kagfQT4kX4gRJEL0vYWG0BrGcs5oS8viraRav1bxy9zS4CMfMkZE21 AhawExFcivyjWAnN1+okIbsERIFh/0w= X-MC-Unique: 1n3JhGyVOUK3xLSZ8o9hkA-1 X-Mimecast-MFC-AGG-ID: 1n3JhGyVOUK3xLSZ8o9hkA_1779312852 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1779312852; x=1779917652; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=JarksJJvOXkWRCIzYOKZ6st1XxnR9hO1RJWv1BwlUzo=; b=NgzrCeAdocQgWfmOUfHvv+9xNXfEvPe7jLEgXshvKXfjjwZGXo9h9JpG/MssKE5Pdb zz2IKm4J2PCUTKDW+1uGBW4sjmqOzQhN6hHTpgn1yIXQWNWQETJG96ZX558skXxVXDTW 4bXmRbah2kHYB6qQ3uR1q8B3cDiI44HhmSOAPB9S6hgdTJS/744Wbb77apQSRZKL/321 TbNhfYv4ozMyfujyjMc55q2YUpBy4YNTQblMWp4ped2Lvcaxq4CBhVxiTag1QXgK14GX dL5Jfp0aaGoR4FpJc9Alzk8Ov2t62Ba0/ywPL1amDM618EHlONOBJmO124ZhpWm4iTBk ZG+w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779312852; x=1779917652; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=JarksJJvOXkWRCIzYOKZ6st1XxnR9hO1RJWv1BwlUzo=; b=C8hmO1kvATQdmDS/hqeEd9PrslCmrJ9QgDzuSQ7HbYsh7g44vc618Buw8rcbXKY8wo ddj99kg3tF+/bHaovy3Y0K3MYDEQPkJBN/4v1h6Hf3JbLuUM0C5HDHIuK89fLSpTTG7F gJY/I2NMWmAzoF7h9LuKo+i6PVg+sZqQggAgWOjL2wbnWVospwDzAJN+uZTZwAd5yvio O+IGavOvg1CpKL6sglNdw2VxghxVt+Hf00xW7/9eUEStZFvYImwLCn6jtAjyaXqqDNNW g7ZVGPfS12SOjhrLnyF2q8TNn4ZlsmoZLNkTNzwu9gn/Z65GV7D1qi7jBazfPidGFFSu E7dg== X-Gm-Message-State: AOJu0Yw2iCr14jqE2PYS6z8EMY1PsUEoSacGkoVAYrdbhNpV9c6ki8FC H/f7PBTF9K5ryGGgJ9ID4CXrs5I9n/a/ZvzF2aorbrsQ28nvmqpo6+gUCRnp5iNVm+J7y3th86M EWPdRTqbfQxT4LHk6bpie7sGKOZ+caWL+6Z+CaZpIdLvRd8npQUWEntvECHN+CXpohJ/9zNOm8Q A/0aKnYP/zZA8+7X7Jn3UBEwvfwpUEwBSSsfrniw== X-Gm-Gg: Acq92OEQWE7e9tpChfrkmUobID1zUzcSykXRrf9j3QToOguI5c9xE45lUSzyEAYzdcu g8xBQ4dg3vk3Pb4TFp5C4m78aZxq2a7jDOK/b4gLUamyBSgh9v8nUmlY99HmQrPqBJfLGpjNS33 Yu/yZDCOw23MJmKtKwwjEwCcTxqwocbeFeCNNgCUUTkJi0lGcQ7hjKmK/ziLTezOePiw/jovlK2 OttlfOl/jFJv9bcUAsK6lbJfK3hOQSMgtJviStJIk93YG3lR1D/VRcdu5vun/Uqrk7jZsjuBaBO +KYqg/z4eQTXAu7QtMWg4+fLgI1daKqX1Z6tyByYIE5kB/OQhxKXlzcZzn/xgWEm214zWerbg8o IGSYdhx5K7bfJhGL+ekfFbSAAmij3ZlXgszMGwhnSv8Mh X-Received: by 2002:a05:6214:300f:b0:8be:35bd:8273 with SMTP id 6a1803df08f44-8cc6e324402mr4590506d6.12.1779312851909; Wed, 20 May 2026 14:34:11 -0700 (PDT) X-Received: by 2002:a05:6214:300f:b0:8be:35bd:8273 with SMTP id 6a1803df08f44-8cc6e324402mr4589706d6.12.1779312851148; Wed, 20 May 2026 14:34:11 -0700 (PDT) From: Peter Xu To: qemu-devel@nongnu.org Cc: Fabiano Rosas , Peter Xu , Peter Maydell Subject: [PULL 03/29] migration: Fix possible division by zero on calc expected downtime Date: Wed, 20 May 2026 17:33:31 -0400 Message-ID: <20260520213357.40646-4-peterx@redhat.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260520213357.40646-1-peterx@redhat.com> References: <20260520213357.40646-1-peterx@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=peterx@redhat.com; helo=us-smtp-delivery-124.mimecast.com 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, DKIMWL_WL_HIGH=-0.445, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-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.29 Precedence: list List-Id: qemu development 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: 1779312881063154100 Content-Type: text/plain; charset="utf-8" Commit dd4fe8844b changed the reporting of expected downtime behavior, so that the value will be calculated on-demand. One side effect on the change is QEMU will allow the calculation to happen anytime even if there's no transfer happening for a short while. PeterM reported an ubsan report from clang when running migration-test with aarch64 binary on x86_64 hosts. I can also reproduce if I run the test concurrently so some of the src QEMU may not get chance to push any data, causing mbps to be 0: ../migration/migration.c:1051:12: runtime error: -nan is outside the range = of representable values of type 'long' Fix it by properly handle both Inf and Nan to return INT64_MAX. Add a rich comment, per PeterM's suggestion. Link: https://lore.kernel.org/r/CAFEAcA-MYH6C39xO0OLx4-M5pKurJpurwRsMqZe9q= =3DW-NShAbw@mail.gmail.com Reported-by: Peter Maydell Fixes: dd4fe8844b ("migration: Calculate expected downtime on demand") Reviewed-by: Peter Maydell Link: https://lore.kernel.org/r/20260511182432.1333467-1-peterx@redhat.com Signed-off-by: Peter Xu --- migration/migration.c | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/migration/migration.c b/migration/migration.c index b6f78eb3ac..05f10e4576 100644 --- a/migration/migration.c +++ b/migration/migration.c @@ -63,6 +63,7 @@ #include "system/dirtylimit.h" #include "qemu/sockets.h" #include "system/kvm.h" +#include "math.h" =20 #define NOTIFIER_ELEM_INIT(array, elem) \ [elem] =3D NOTIFIER_WITH_RETURN_LIST_INITIALIZER((array)[elem]) @@ -1044,12 +1045,29 @@ static bool migrate_show_downtime(MigrationState *s) /* Return expected downtime (unit: milliseconds) */ int64_t migration_downtime_calc_expected(MigrationState *s) { + double expected_ms; + if (mig_stats.dirty_sync_count <=3D 1) { return migrate_downtime_limit(); } =20 - return mig_stats.dirty_bytes_last_sync / + expected_ms =3D mig_stats.dirty_bytes_last_sync / migration_get_switchover_bw(s) * 1000; + + /* + * If we haven't been able to transfer any data, the result here could + * be NaN (for 0 / 0) or infinity (something else / 0). + * + * Return INT64_MAX as our best approximation to "this will take + * forever to complete". If the problem is transient (e.g. we just + * haven't started to transfer yet) we'll recalculate to a more + * accurate figure later. + */ + if (isnan(expected_ms) || expected_ms >=3D (double)INT64_MAX) { + return INT64_MAX; + } + + return (int64_t) expected_ms; } =20 static void populate_time_info(MigrationInfo *info, MigrationState *s) --=20 2.53.0 From nobody Sat May 30 17:43:30 2026 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1779313004; cv=none; d=zohomail.com; s=zohoarc; b=leDkqmxjAVvc1Kiq9Sfn4A9l9aRJdQlYbUuAD5ViD+mCzCYnQs4+FAkDtU7kozRmNGSdR2Zas6GB64SkD+LFTLdgXyJFgBy7QrNlFo7yNkeDtaCqi/rTHvujGG2wU2/5aQXdroJzbho+72mtINwP1GTxePgBsdSY2NvKGX979wk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779313004; 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=vn9S4YWBBUyNsbzK7Kv4pTmuJjtbGCJAtYj1xtt9Mvo=; b=JH6iu/ZH5F1YGgnCibzXEEMnISDGdfemCZg6ZZQu8zwnp0ejKVGnomyLiGqs4EEHgWcinFoXgmMRJZp7yltFnjcHoCgchN/kkf4G36FI4JPfhv7S7DZRu/O8zqJXUGtsXKiFqT+LVQ2Qi+rh2Ir2EiPIShZy9h64GQkfUHp2HV0= 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=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1779313004431636.285057265723; Wed, 20 May 2026 14:36:44 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wPoYV-00012z-UR; Wed, 20 May 2026 17:34:19 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wPoYU-00012c-UG for qemu-devel@nongnu.org; Wed, 20 May 2026 17:34:18 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wPoYT-0007C3-2J for qemu-devel@nongnu.org; Wed, 20 May 2026 17:34:18 -0400 Received: from mail-qv1-f70.google.com (mail-qv1-f70.google.com [209.85.219.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-42-MW-x2jRGMKqzZQgNlXaeHQ-1; Wed, 20 May 2026 17:34:15 -0400 Received: by mail-qv1-f70.google.com with SMTP id 6a1803df08f44-8b1f39c5827so130261506d6.1 for ; Wed, 20 May 2026 14:34:15 -0700 (PDT) Received: from x1.com ([142.189.10.167]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-8ca360b362fsm133062716d6.22.2026.05.20.14.34.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 May 2026 14:34:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1779312856; 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=vn9S4YWBBUyNsbzK7Kv4pTmuJjtbGCJAtYj1xtt9Mvo=; b=KiIQwos/Jj9Ns/IOc0HdKtxwjyD+4Re1YEvakz594H/jSLNb6DmuFbN1PKD2rA/89TU6xq rC95xNmX6VGqvSArr/BbRxtdMW+YCD5lbGvbPN1MZooO8eATer1dO+KTpreu/TzoGHklKU mjx681q+nmR8QqtVL5COuj+ot1R2JrQ= X-MC-Unique: MW-x2jRGMKqzZQgNlXaeHQ-1 X-Mimecast-MFC-AGG-ID: MW-x2jRGMKqzZQgNlXaeHQ_1779312854 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1779312854; x=1779917654; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=vn9S4YWBBUyNsbzK7Kv4pTmuJjtbGCJAtYj1xtt9Mvo=; b=iV4wAd1k3Kewims2vOEYUxmMA35gXGFCxd+tHvnGVJrmzn6a1aKQwy+B4keJCsyoXv g/xn9MGhdClh5DJi3S7r3dhaOzjjR2lk5sBMoZiZxYaX83T24Qy5ufbWjc7UOaWduBjr Vy5wdV5vF6x1Eaj08u6oKekiqTF5hjMVeeFryMycYvegRYa+rYZtLGA3PpVxzxHQjz0M n/HtM8uBHwsHNqJbXE+BDquJReZFZehgzzGRa0iBTBpTPLd6evuajgVGM02Y9pVRIyFJ WVZsDE8PX5MDGouqpk3s/NLT6Iy85r0J1Z6ZU5u48j6L45oR8wiH2ctkpa5KRFZnFFIp Ozrw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779312854; x=1779917654; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=vn9S4YWBBUyNsbzK7Kv4pTmuJjtbGCJAtYj1xtt9Mvo=; b=FreC9c4/4TB0EUw/sQwAmPqnngnt+nvHPGBsvnvk3AcHwJVM5z4XY0+uE/tLST/OoQ rdviEuTp6NoGImYpPzMQG3iek+JaTf/6wKWil1TY89xXk+hn6rZGCgkaJ1v3Pa3eDiIN yfkn9Dr3AAKyzS/A8lCnkMd2iYxcm3p1gPzgeowAJXywkaXg57GB+ehKYIYn99RLo/7d VK0Q+zjer08/n7D8yDz+zfOWsw4/WhJ38fKkcvHhF/pz7A+Y1+9tM1WviiWCvuTZtkUE /X7esqxQoPNUDWDqAMB0dp5I/akAFzXtOpBtjsGsTpIUkJ3e4FJEZA3+nAkwX11sd2TV gW3Q== X-Gm-Message-State: AOJu0YyzGmdWPT2f/mWb6zWS6TjcGayP3H5XHNAkOicN4sW1WYcj0hGw UFk+6Kbad/a+7Ov7Iuou9+YsJfnL025K3LJG9IZeL2XZix6LV0qQSvMo8a+ahGQpVr5WIQzHw6t N12LIRIE8ZqNtnda01COrzlgFjoo91HhttdhCW4omsVNYoupr6xWZ5/JW+vWjf0pP4Ic4IPl4/V SK/DKFq5ACgkICe2WRs1pZn+0oRa1mOW+O75YDVw== X-Gm-Gg: Acq92OGuyYk8V3LMTjerGB08VHeCmqLLToM8Zs8HV2YsO1v+qn569Lue2/NWCnOCog/ TX1PAmKrXiuxrySN2I1hA6xQvhy2Cma9vGm9p3YVhthxKIADmTclP/5xGUmioZ3UAiHtgIvEN9b RSX8uTWEIu2D4zr/AqlvgHma3DkCDmyFqfWy+EV/n4TRxev0bDpgYdbXgFlPTG5mjss3anWAAaR u7gZM9+yzjeiyMP5qK8gVcxliMgotg+uujM0pVLGNn35uHHoA619HCODV2FinT2SvcAHNTApDN5 k3x3fuhZYIID7DeCG9n1xenaGzzj+c06mc12E6OOhlmrskirw560C1rv32o/XNefTdGZE3+q63G CAgFumU2NYWjWtZfAthssMPgXqJzIpZqWsjLnLWNSzLri X-Received: by 2002:a05:6214:590f:b0:8c7:76cf:5088 with SMTP id 6a1803df08f44-8cc6e205d13mr6147816d6.0.1779312853806; Wed, 20 May 2026 14:34:13 -0700 (PDT) X-Received: by 2002:a05:6214:590f:b0:8c7:76cf:5088 with SMTP id 6a1803df08f44-8cc6e205d13mr6146886d6.0.1779312853038; Wed, 20 May 2026 14:34:13 -0700 (PDT) From: Peter Xu To: qemu-devel@nongnu.org Cc: Fabiano Rosas , Peter Xu Subject: [PULL 04/29] tests/qtest/migration: Fix auto-converge test Date: Wed, 20 May 2026 17:33:32 -0400 Message-ID: <20260520213357.40646-5-peterx@redhat.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260520213357.40646-1-peterx@redhat.com> References: <20260520213357.40646-1-peterx@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=peterx@redhat.com; helo=us-smtp-delivery-124.mimecast.com 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, DKIMWL_WL_HIGH=-0.445, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-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.29 Precedence: list List-Id: qemu development 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: 1779313006418158500 Content-Type: text/plain; charset="utf-8" From: Fabiano Rosas We fixed the cpu throttling sync thread affecting the dirty-sync-count, but the test still relies on it to gauge for progress. Remove that block from the test with no replacement. While here remove several incorrect or redundant comments. Fixes: 9519d3667a ("migration: Move iteration counter out of RAM") Signed-off-by: Fabiano Rosas Link: https://lore.kernel.org/r/20260512141338.10089-1-farosas@suse.de Signed-off-by: Peter Xu --- tests/qtest/migration/precopy-tests.c | 62 ++------------------------- 1 file changed, 3 insertions(+), 59 deletions(-) diff --git a/tests/qtest/migration/precopy-tests.c b/tests/qtest/migration/= precopy-tests.c index e65d9e04a5..0426319199 100644 --- a/tests/qtest/migration/precopy-tests.c +++ b/tests/qtest/migration/precopy-tests.c @@ -291,35 +291,12 @@ static void test_precopy_fd_socket(char *name, Migrat= eCommon *args) } #endif /* _WIN32 */ =20 -/* - * The way auto_converge works, we need to do too many passes to - * run this test. Auto_converge logic is only run once every - * three iterations, so: - * - * - 3 iterations without auto_converge enabled - * - 3 iterations with pct =3D 5 - * - 3 iterations with pct =3D 30 - * - 3 iterations with pct =3D 55 - * - 3 iterations with pct =3D 80 - * - 3 iterations with pct =3D 95 (max(95, 80 + 25)) - * - * To make things even worse, we need to run the initial stage at - * 3MB/s so we enter autoconverge even when host is (over)loaded. - */ static void test_auto_converge(char *name, MigrateCommon *args) { g_autofree char *uri =3D g_strdup_printf("unix:%s/migsocket", tmpfs); QTestState *from, *to; int64_t percentage; - - /* - * We want the test to be stable and as fast as possible. - * E.g., with 1Gb/s bandwidth migration may pass without throttling, - * so we need to decrease a bandwidth. - */ const int64_t init_pct =3D 5, inc_pct =3D 25, max_pct =3D 95; - uint64_t prev_dirty_sync_cnt, dirty_sync_cnt; - int max_try_count, hit =3D 0; =20 if (migrate_start(&from, &to, uri, &args->start)) { return; @@ -330,21 +307,16 @@ static void test_auto_converge(char *name, MigrateCom= mon *args) migrate_set_parameter_int(from, "cpu-throttle-increment", inc_pct); migrate_set_parameter_int(from, "max-cpu-throttle", max_pct); =20 - /* - * Set the initial parameters so that the migration could not converge - * without throttling. - */ migrate_ensure_non_converge(from); =20 /* To check remaining size after precopy */ migrate_set_capability(from, "pause-before-switchover", true); =20 - /* Wait for the first serial output from the source */ wait_for_serial("src_serial"); =20 migrate_qmp(from, to, uri, NULL, "{}"); =20 - /* Wait for throttling begins */ + /* Wait until throttling begins */ percentage =3D 0; do { percentage =3D read_migrate_property_int(from, "cpu-throttle-perce= ntage"); @@ -357,36 +329,8 @@ static void test_auto_converge(char *name, MigrateComm= on *args) /* The first percentage of throttling should be at least init_pct */ g_assert_cmpint(percentage, >=3D, init_pct); =20 - /* - * End the loop when the dirty sync count greater than 1. - */ - while ((dirty_sync_cnt =3D get_migration_pass(from)) < 2) { - usleep(1000 * 1000); - } - - prev_dirty_sync_cnt =3D dirty_sync_cnt; - - /* - * The RAMBlock dirty sync count must changes in 5 seconds, here we set - * the timeout to 10 seconds to ensure it changes. - * - * Note that migrate_ensure_non_converge set the max-bandwidth to 3MB/= s, - * while the qtest mem is >=3D 100MB, one iteration takes at least 33s= (100/3) - * to complete; this ensures that the RAMBlock dirty sync occurs. - */ - max_try_count =3D 10; - while (--max_try_count) { - dirty_sync_cnt =3D get_migration_pass(from); - if (dirty_sync_cnt !=3D prev_dirty_sync_cnt) { - hit =3D 1; - break; - } - prev_dirty_sync_cnt =3D dirty_sync_cnt; - sleep(1); - } - g_assert_cmpint(hit, =3D=3D, 1); - - /* Now, when we tested that throttling works, let it converge */ + /* throttling always ignores the first pass */ + assert(get_migration_pass(from) =3D=3D 2); migrate_ensure_converge(from); =20 /* --=20 2.53.0 From nobody Sat May 30 17:43:30 2026 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1779312918; cv=none; d=zohomail.com; s=zohoarc; b=fVPXR+KUvv4DkrVhhw7OWCbOhLNsHa9fXgao0Ac9QUqNclvp0m2P/DyfqgYoSi0oaMKqZpazPwuxH50xyWq2+OHfI+qTYdXF9+fZIbMkETpmpmmqe+fjmHy/Mvh1c8dm/bOLzoka4ECALCFxbzXMLhV98da5lyRHU4Fp17dzJMw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779312918; 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=jZmhb6PYUi43jWKl53BP4O8oa2TIqANv/QwFF8GvUG4=; b=D1Hp/zvYjg7oFaBucow8BnrptjLjO/vSwKv3L9BmdvNnrytKyvVtrtBH0+T392MvxDLvVrnWbGbsepSBvmuvPo14Ms3xMshmbSpvgeDM4A+NPEkA7TIjnWKDFAcb5y0vOYaI0bWlEr7npPhywuwADlFqsPaIDNSzsNg6sex88qw= 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=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1779312918010622.7833888404328; Wed, 20 May 2026 14:35:18 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wPoYY-00013F-Uz; Wed, 20 May 2026 17:34:22 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wPoYX-000136-Qx for qemu-devel@nongnu.org; Wed, 20 May 2026 17:34:21 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wPoYW-0007Ch-C7 for qemu-devel@nongnu.org; Wed, 20 May 2026 17:34:21 -0400 Received: from mail-qt1-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-654-RUuFPPOLMXOmnyUO_tnEjg-1; Wed, 20 May 2026 17:34:18 -0400 Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-50d5d1c2289so160541211cf.2 for ; Wed, 20 May 2026 14:34:18 -0700 (PDT) Received: from x1.com ([142.189.10.167]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-8ca360b362fsm133062716d6.22.2026.05.20.14.34.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 May 2026 14:34:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1779312859; 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=jZmhb6PYUi43jWKl53BP4O8oa2TIqANv/QwFF8GvUG4=; b=gy92FxL7aUifPmi8RoOc6cOBbjsvQhRkOCDlWkrFO4Gm1fL4d3hCrCIUpXn857hTCZYAXx wKcblPLfGtv9Y7+5vJxzPxSazmCbhzzD9qiSon9PlaVumUM9gO9HKaQzYWTotST/as5ivs GCk1HoykV6Bf2ZjPxPzBbNsdwVyEna4= X-MC-Unique: RUuFPPOLMXOmnyUO_tnEjg-1 X-Mimecast-MFC-AGG-ID: RUuFPPOLMXOmnyUO_tnEjg_1779312858 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1779312857; x=1779917657; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=jZmhb6PYUi43jWKl53BP4O8oa2TIqANv/QwFF8GvUG4=; b=pULSRWRGkfzB8LXjrK717KuwO/K63AHPSL3DD6h8rOUqFD3UyjEAHrnyQgttvNNXc6 GEhQYKXu2KcAFlnz5/Sutj5y58I2a4d3ws2/od6MaiufaOx96/kxtyIIlYUeh03lcq5w zsprzNfQ//cVSl02vTaMUSkXjB1GDhJMtBsjVINChPLigVh6qq9S8neinkeumHPmCCmn 0eEYQeRnrNkmRlpM/17njeRQJstC2uaf3BDYRzz9vlGV1WxRfMenMxWn2wYvDfGAhzr/ h+W04/68VApBEmpJbH+jFSK6wrLQEQPiqSE977QLND2L4PFDYQ28W305XlEZj9TYbpCZ kNOA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779312857; x=1779917657; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=jZmhb6PYUi43jWKl53BP4O8oa2TIqANv/QwFF8GvUG4=; b=c1sWLnjgxu5DbwcaMeWkwB06bHfOoj7qTV5XzIpfQRNNJI+zcglfGGneaH/yUDWRFr LjSLB1DTE4pH7Hb62UHFhDDW7Mib2w8jNnenwPBKDy3yTKKtPUAJDo1rddnOtmZZHvJf qwN8Qrwr1Jmb7cWpgVoZIBhwBIFrW1kqlTm0uMMxMLKQTrFGc4kxeuq0jEip6TfPU4s1 Dd2pQmqtd97Qt/ipGV0ml4ak2HMCHU40wluVfF9oyfP2YbnrEmncrvWzFyz1e77DotDK 6bdrAhYdLilTuu/sHXF/ThnYbL9VtXhhSEtwiazbq+EeRMHi4NKW8kmH0S5r66a6BM+4 OJ4w== X-Gm-Message-State: AOJu0Yzsj3B0KuDMKcGpiiuyNkoOE2YgPSPGkROer/JLOvRwj2pzziCF nbb+Ble4rS7swiHDt55A6Cyu3pbIUPvqX8CIYCcop0yC+Y/Ejb3a0b+F4O7KdAGQ9RLOfTM1VtE Wu/O179Jb4Q5ZRHXQZh0TSmFl9qiYCMSt3uNydiX+8HGb1HvYwqwVunHWoisXpSZtC29WB+CEPl j8Q0J07Fz1hZdPzKKES0aCCyk5gl/p7mGu5QMbww== X-Gm-Gg: Acq92OFpNiGqShgiaP6Sy2GrGNvNUaFAWtImd9tbneulK595XeacfyXAzaLEUDBnddI uBtq9oQEZclCqJO+DmJvwgJmUAY/o2JvM6num6j+dVN7dblMXcae3JDyv9vY0dlsDuuzzk8pk3Q U7JcmMDjvARqenXVZYIjrdUT0wWcMtcG20XTf/UYVmKoxrS+L8lcf+umc+FJTK21u6/ZEu2XT7q iPMWng2CJ0aybak6IGDuKXs4JJykgAIopPHxUlobY2kvTPJDFGAzVcA9Z/ssoFm0AtmL5ibmkie dTxT4vONJ3oj+RIkgybs1DNnSQ4vYwyNum6Y395ez/1vLVC4aZm2kNGzp9aRsLP2FZdu8Pbi4EH YtdT6d4ivuJesZDSc2OeXmYNlRFjHpIkTwNskRVk+3gKR X-Received: by 2002:a05:622a:2511:b0:50f:ca25:fb48 with SMTP id d75a77b69052e-516c5611e72mr2843591cf.55.1779312856697; Wed, 20 May 2026 14:34:16 -0700 (PDT) X-Received: by 2002:a05:622a:2511:b0:50f:ca25:fb48 with SMTP id d75a77b69052e-516c5611e72mr2842771cf.55.1779312855717; Wed, 20 May 2026 14:34:15 -0700 (PDT) From: Peter Xu To: qemu-devel@nongnu.org Cc: Fabiano Rosas , Peter Xu , Aadeshveer Singh Subject: [PULL 05/29] migration: Replace current_migration with migrate_get_current() Date: Wed, 20 May 2026 17:33:33 -0400 Message-ID: <20260520213357.40646-6-peterx@redhat.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260520213357.40646-1-peterx@redhat.com> References: <20260520213357.40646-1-peterx@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=peterx@redhat.com; helo=us-smtp-delivery-124.mimecast.com 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, DKIMWL_WL_HIGH=-0.445, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-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.29 Precedence: list List-Id: qemu development 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: 1779312919630158500 Content-Type: text/plain; charset="utf-8" From: Aadeshveer Singh Replaces the direct accesses to global variable `current_migration` with `migrate_get_current()` to ensure consistency across systems. Note: Following this only direct access to `current_migration` will be * `migrate_get_current()` itself * `migration_object_init()` initializes `current_migration` * `migration_shutdown()` to pair up with initialization * `migration_is_running()`, as there might be a case where this function is called by a thread before object initialization Signed-off-by: Aadeshveer Singh Link: https://lore.kernel.org/r/20260513063513.250911-1-aadeshveer07@gmail.= com Signed-off-by: Peter Xu --- migration/migration.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/migration/migration.c b/migration/migration.c index 05f10e4576..074d3f2c69 100644 --- a/migration/migration.c +++ b/migration/migration.c @@ -1030,7 +1030,7 @@ bool migration_is_running(void) =20 static bool migration_is_active(void) { - MigrationState *s =3D current_migration; + MigrationState *s =3D migrate_get_current(); =20 return (s->state =3D=3D MIGRATION_STATUS_ACTIVE || s->state =3D=3D MIGRATION_STATUS_POSTCOPY_DEVICE || @@ -1657,7 +1657,7 @@ bool migration_in_bg_snapshot(void) =20 bool migration_thread_is_self(void) { - MigrationState *s =3D current_migration; + MigrationState *s =3D migrate_get_current(); =20 return qemu_thread_is_self(&s->thread); } @@ -3095,7 +3095,7 @@ static MigThrError postcopy_pause(MigrationState *s) =20 void migration_file_set_error(int ret, Error *err) { - MigrationState *s =3D current_migration; + MigrationState *s =3D migrate_get_current(); =20 WITH_QEMU_LOCK_GUARD(&s->qemu_file_lock) { if (s->to_dst_file) { --=20 2.53.0 From nobody Sat May 30 17:43:30 2026 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1779313071; cv=none; d=zohomail.com; s=zohoarc; b=lhXiZAhvJIBGZgaiOxGxwZhOXEWiq2EvqMArEKOlTonsAkZCRGPfP/odVkxiGzSl9piuKZeA3ebByZOfprsBpiXR8IqBtBXKYxd133iDvdwRUH+AkEZTMkpz269Hb81YQeyglnFlriDia4Sa/r1tjQvwH5l0wHqWiWWBWPTmXic= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779313071; h=Content-Type: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=bHwQFxcGwUZK2npcYhrJfs4WcdI2M1xltYSZSmNE9Is=; b=R9RvHV0M9lMmUe3/gRpdpoE0j9AHQlGjJ6KQ3PdV43hQUX2XPQ0gbeRwIyTMo6tz6DfMQ6Dm8fuD6lBe6kvV/RyH9VjbbpFRRpw8+lAtlbkwAazlLF3k+/pTb2M7lpnSe5YmunmvZWIMd763cLOcxvA2he6TOOZlAlK4Fg4qOJI= 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=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1779313071591744.9131292040315; Wed, 20 May 2026 14:37:51 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wPoYc-00013s-OL; Wed, 20 May 2026 17:34:26 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wPoYb-00013f-9Q for qemu-devel@nongnu.org; Wed, 20 May 2026 17:34:25 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wPoYZ-0007D2-Ph for qemu-devel@nongnu.org; Wed, 20 May 2026 17:34:25 -0400 Received: from mail-qt1-f200.google.com (mail-qt1-f200.google.com [209.85.160.200]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-196-vg8yBJVuNoenXJPn6ft9Ig-1; Wed, 20 May 2026 17:34:21 -0400 Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-50faf575af4so145630251cf.0 for ; Wed, 20 May 2026 14:34:21 -0700 (PDT) Received: from x1.com ([142.189.10.167]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-8ca360b362fsm133062716d6.22.2026.05.20.14.34.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 May 2026 14:34:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1779312863; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=bHwQFxcGwUZK2npcYhrJfs4WcdI2M1xltYSZSmNE9Is=; b=alcr/Gtnbb8pNpTcLtOBTflwujWwkeGY+g+04Y1ojgB7oU1tDV8v97WXlbeJOr8izP18ic SKxvm00Q2X3ReZnoeXof94BeXlmPSwynDhUkKLHxvJzSvtRv689uRVd1jwFqGc2Yjon92P zdwSIcig37J6A/sXeR+zIt2poy/UG5Y= X-MC-Unique: vg8yBJVuNoenXJPn6ft9Ig-1 X-Mimecast-MFC-AGG-ID: vg8yBJVuNoenXJPn6ft9Ig_1779312861 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1779312861; x=1779917661; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=bHwQFxcGwUZK2npcYhrJfs4WcdI2M1xltYSZSmNE9Is=; b=rp2aUcgHelQiW9t9LmPh4Ha+wPCDkre2PSiR33ousNh7O3VMQEEWA3Izei2VBdvoVI 5Eetk8SkRHdp6qEZjkuxFdDObb/hPAfOp5M0Qyevu7Y074l7ox9cP8iwpC5EII8uJii7 wibE0N0Ew5mdh4jsYpNBoPZzQw0hVwJ9tlLnEw3C/lAiJKR2+tHX8mEKF1OnJ8/ApVjF b2/xWo33A6SQD1z43CcsnJMb5J1eOePnU6QfHCvjL58FFJ3bBX69V7ugvFObxSUrSMES zs3OJcb6EM3WwcMAGCrYWlgHU5SImF3QANZhzmVVnicxWHculpcSG1J38OCFySJqXU48 yqpA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779312861; x=1779917661; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=bHwQFxcGwUZK2npcYhrJfs4WcdI2M1xltYSZSmNE9Is=; b=tIjQOoqlfkej+rWbDYS4efnKrBqiH0lumXXBpDK7faIfsUG73Csj5UWnF66Gbcbn5q 7aJuSyCAk2nea1UUnEIzqM8k/U6GR6RGdNQpMdedRTYTBawE6w0XT1El1ZlyovO9IdGD bkmIUYyDY/21/Y6271c0pDY/hApMuhkuiFmVmhokAxhIkrzdUEHu+aCw7S5h6fETYUTk TLHHBpMQtW4iTQTc7mnoQuq+77ycXECEANCLhoVQEJmE0B4MrDQGn+3IGFNAPozLOZqo ExDNpJZbUi0TH4f2fCDNGDoBSflrOk5xtDnodPyJ0Qp7ATEEtW33SsS4zwH82nZU089h Wk/g== X-Gm-Message-State: AOJu0YwcYfDFXz93qX7KRXI9zPCLSlE8IeNlmqXNJiaaVZmomUvCF4tb d1uUVf6ZH1dHmjwLrya/V7XYXyOZPamtymA7/tG1wMaDTb5l5iyhRVeo54XoyeXiDuSvHScOYNN Jl0w7oTGN8IyHQV6L1+D0oe1V8vZJ/kOzp5Qy98DKkmTb9BCVCszjIVdCJn8lBgJRZa19uOQUwF F6OOQDCfKETUVkwsBFqRGBlCsd7Mzm/Ir5uZY1bw== X-Gm-Gg: Acq92OEATeSG3kLhJv9chRYRl/j99vG5QTaHuO9KA7Z0M8DuhG5Vw34ePi9ZTW4MIjG J7JU10IsENV8oC3fW89KQ2J+leSv9Lm9RYJPma3gt3qvBa0HxYR51zajECCvTi7Ui5Yr8/9uFVk RxD/Foj4MjsB7clPuExDaieGiRjMGHBG8mDB90zBx2jyWNE5f342h7liAheBrHltL1pcezX7WVt xGpC0oKZ0dWjPf+9uu9AdqxleL+F3mdluqPVfSxhuLJS+PhUmCQcW5tLYKG3y9iE58wqZ6GP0eq yHSAMedBiRQ0gHxlj5z1FXdH35ktCOGddhbQMyRhyL2vmOFdDi299TpfGJBO6AusZ/hKFQ+FygZ 72CWQ0k2MsG3XXQRQ6TDdBpV1bBIUNPYimNkcOx3ILUuL X-Received: by 2002:a05:622a:4249:b0:50f:6415:1eb4 with SMTP id d75a77b69052e-516c55955d5mr3090611cf.49.1779312860749; Wed, 20 May 2026 14:34:20 -0700 (PDT) X-Received: by 2002:a05:622a:4249:b0:50f:6415:1eb4 with SMTP id d75a77b69052e-516c55955d5mr3090031cf.49.1779312859876; Wed, 20 May 2026 14:34:19 -0700 (PDT) From: Peter Xu To: qemu-devel@nongnu.org Cc: Fabiano Rosas , Peter Xu , "Maciej S. Szmigiero" , Mark Kanda , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= Subject: [PULL 06/29] MAINTAINERS: Make Maciej CPR maintainer Date: Wed, 20 May 2026 17:33:34 -0400 Message-ID: <20260520213357.40646-7-peterx@redhat.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260520213357.40646-1-peterx@redhat.com> References: <20260520213357.40646-1-peterx@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=peterx@redhat.com; helo=us-smtp-delivery-124.mimecast.com 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, DKIMWL_WL_HIGH=-0.445, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-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.29 Precedence: list List-Id: qemu development 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: 1779313074121154100 From: "Maciej S. Szmigiero" Since Steve has retired last year I will take the CPR maintainership - with kind help of Mark who remains a reviewer. Cc: Mark Kanda Signed-off-by: Maciej S. Szmigiero Reviewed-by: C=C3=A9dric Le Goater Link: https://lore.kernel.org/r/ebe67053f4bdf92eedab1e5839603b7137e36970.17= 78687091.git.maciej.szmigiero@oracle.com Signed-off-by: Peter Xu --- MAINTAINERS | 1 + 1 file changed, 1 insertion(+) diff --git a/MAINTAINERS b/MAINTAINERS index eda1e84268..c6ce786b5b 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -3195,6 +3195,7 @@ T: git https://gitlab.com/jsnow/qemu.git jobs T: git https://gitlab.com/vsementsov/qemu.git block =20 CheckPoint and Restart (CPR) +M: Maciej S. Szmigiero R: Peter Xu R: Fabiano Rosas R: Mark Kanda --=20 2.53.0 From nobody Sat May 30 17:43:30 2026 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1779313058; cv=none; d=zohomail.com; s=zohoarc; b=E5BLd/e4GXI536vwlu80i2PRq8i+Ntl+PUsjyg8yd5AUumG4DPBPCDd1uU+3s9ZVuaJrEF7JWhXknSgT006vsiUa+tfNZUOVnZzIQzb/CIkJPknej8C7GFIO8pEMlRLehv6fiXekKRfOqRLknzPg154aw5+Y5y1YEdlEwlsHP2w= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779313058; 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=hoHGI7NaPvj5cSGbscsqHu1zPlGjHvSW5S0lgsmipWo=; b=nkz8bwr0cAd3rSf42KvsaTtQbvgHQKaHpUEdNDEbroQmX5YbfzlIeo3cGlCxcOH/6TyZutGm3L45yJOpx7mmxvbNTrXQc592dJoBD0KrTv48Rm0ojk31IVJa7p91ajZrGR52MVtnj7XCV7FTkt++ty3UmVigYFgi1TxzEq8ZVRQ= 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=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 17793130583740.28904737473931164; Wed, 20 May 2026 14:37:38 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wPoYf-00014Y-9g; Wed, 20 May 2026 17:34:29 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wPoYd-000149-NI for qemu-devel@nongnu.org; Wed, 20 May 2026 17:34:27 -0400 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 1wPoYb-0007ED-Qj for qemu-devel@nongnu.org; Wed, 20 May 2026 17:34:27 -0400 Received: from mail-qv1-f71.google.com (mail-qv1-f71.google.com [209.85.219.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-577-klZegBDONta75IFPrhi52g-1; Wed, 20 May 2026 17:34:23 -0400 Received: by mail-qv1-f71.google.com with SMTP id 6a1803df08f44-8b46c014a26so168415756d6.0 for ; Wed, 20 May 2026 14:34:23 -0700 (PDT) Received: from x1.com ([142.189.10.167]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-8ca360b362fsm133062716d6.22.2026.05.20.14.34.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 May 2026 14:34:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1779312865; 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=hoHGI7NaPvj5cSGbscsqHu1zPlGjHvSW5S0lgsmipWo=; b=A4rkJlgx4VCAhIPMVf43N00ZMrzCtlGjvZpIUesA7ydTgA5jEcD7bPU9oBItXcgLbN0xy8 pehrvW536aAqH5BjrQ6bR/cDB++HTKK9ujDnJKZun8IhGn8vKIZXS+37lvHD/ZYcgaT/76 ArqTXe2cqojHV7PcV+rd1USXahFlGJY= X-MC-Unique: klZegBDONta75IFPrhi52g-1 X-Mimecast-MFC-AGG-ID: klZegBDONta75IFPrhi52g_1779312863 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1779312862; x=1779917662; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=hoHGI7NaPvj5cSGbscsqHu1zPlGjHvSW5S0lgsmipWo=; b=sqrOYyNaw7qykIKBXBQqr+kLHfBp4OwKBdhAdNbFMuRExNo3IXz7XM6ED9XqC0B3yT iryOJtT9Q0S3m1I8y9FTISKgeb+BXjKNfYCvpVVlehToQqH+gMfbcGH2lqNC7Zd8JiTA mU5NyvX67HvWXK07kaQKxMkkAY/N4SnG6Q6zlhMUIA5Tw26FtQSNf8Nv6dLnujO+esJp X8R/JMkQ138295I9B5qwb012m8sIFr0nPNOYausJRHIaoULw8JnUnL/863bDtrcBuglV oM3D/sW5pXZjm6zpHvJ2Uo7ishwEoCpf0gjVm+t50ZOXishEWWKIGVUSl/OFdPLtoI1v JR8Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779312862; x=1779917662; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=hoHGI7NaPvj5cSGbscsqHu1zPlGjHvSW5S0lgsmipWo=; b=id83GenS5+zJPbnAcAJ/iiRgSsm7IZkbZafmxoSDcyTt9Hig3PWWMaVfb8RL+DyGT9 e6JFQKXCq9NbZaguXxXb7NOKKu57X0yJehgpyaobQQLyYE0ZjrRzpZBjOXJJlUKM9Wy/ /+lWYM2xgnOSgOLNAOUgb5jA6Fdw56gGw5gpNVkMSQAvdPn8qEkufWkwa0IT+1y/fhuW ban+SY+GKfjGTdfFsr71EwXnRAouflku+g/5C51k5j/xKccngxEToQXSX4OQgOPjccMK VvKx9k81Cl4qX6xPI4emC/vCRSvVbIurk4cyCYM49jZBsAMZ5Ith9nRzRx/7YPAQrwYA 8cHw== X-Gm-Message-State: AOJu0YyAUyOPO/5abqeJQNjtobs4xx79f2ipyI8Khe4UA65VB/S5Ov65 +ZidJYu726aC955zGNh47WuQziOJJQ4VJ3HVSZE84xN73PUfXDsHboH2tE36CCilcWxoj5FSw4U Q9rR/d6qFnZSDD3cXf2+uP2PWwa/MzmYACOwHvgCo9Yo6bBjob7/KkeRBjkmuRmK6U+iTVUYJB3 85OE4wOCZvOT4lhDMtPJLHNwH0T3lPRBkQ0xt1UQ== X-Gm-Gg: Acq92OEdFRbGiwSVMCdipPEZGZ5fS1ke7fsukqzOdDAGc8V1xaajChhYIdFfOCU+o2v QpPlN8mD1eCQEDiWeJik2KEsXZVxO1N6AjVglBFtZIGUbOJF+0vZwjLmrfRnq1XLqMqoWnZUO+b equr4eyCPA/6v8zWBG9aFJP9eml5uPxRIYwsLDvwJnoVP11bzYfjcDz005xnyQ7Ia3Wwc5HhIwy ylvYBVGOtJw+fHp3ZIjzITsFjkJ1bIcMX8QlRoQNR/1XjRG3AnmN7mbAVH6zeNeFcxRKcj3b4/1 x/0fPL8TCW8tM5Dukt+JCElMZUSOHI0KzjxZ8anJxw+1UWst0imFfzfQmhyAX+j6GvOB1wKLBUx JRAPih6KssWr//BmG4p2XQ/QTNnd/4LEvHm3pZ6DZW+EW X-Received: by 2002:a05:6214:3bc7:b0:8c4:975c:25a7 with SMTP id 6a1803df08f44-8cc6e37e422mr3369696d6.25.1779312862510; Wed, 20 May 2026 14:34:22 -0700 (PDT) X-Received: by 2002:a05:6214:3bc7:b0:8c4:975c:25a7 with SMTP id 6a1803df08f44-8cc6e37e422mr3369086d6.25.1779312861893; Wed, 20 May 2026 14:34:21 -0700 (PDT) From: Peter Xu To: qemu-devel@nongnu.org Cc: Fabiano Rosas , Peter Xu Subject: [PULL 07/29] tests/qtest/migration: Move cpr transfer logic into cpr-tests.c Date: Wed, 20 May 2026 17:33:35 -0400 Message-ID: <20260520213357.40646-8-peterx@redhat.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260520213357.40646-1-peterx@redhat.com> References: <20260520213357.40646-1-peterx@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=lists1p.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: -24 X-Spam_score: -2.5 X-Spam_bar: -- X-Spam_report: (-2.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.445, 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_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-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.29 Precedence: list List-Id: qemu development 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: 1779313059977154100 Content-Type: text/plain; charset="utf-8" From: Fabiano Rosas There's some amount of cpr-transfer logic at precopy_common, which in retrospect was a bad idea. For just two tests, that's too much code to be in the common function. Move it to the cpr file. We'll need this cleanup for subsequent improvements. Signed-off-by: Fabiano Rosas Reviewed-by: Peter Xu Link: https://lore.kernel.org/r/20260505160915.25558-2-farosas@suse.de Signed-off-by: Peter Xu --- tests/qtest/migration/framework.h | 3 -- tests/qtest/migration/cpr-tests.c | 57 ++++++++++++++++++++++++++++--- tests/qtest/migration/framework.c | 36 +++---------------- 3 files changed, 56 insertions(+), 40 deletions(-) diff --git a/tests/qtest/migration/framework.h b/tests/qtest/migration/fram= ework.h index bb534b8110..3ccc6a99d2 100644 --- a/tests/qtest/migration/framework.h +++ b/tests/qtest/migration/framework.h @@ -181,9 +181,6 @@ typedef struct { */ const char *connect_channels; =20 - /* Optional: the cpr migration channel, in JSON or dotted keys format = */ - const char *cpr_channel; - /* Optional: callback to run at start to set migration parameters */ TestMigrateStartHook start_hook; /* Optional: callback to run at finish to cleanup */ diff --git a/tests/qtest/migration/cpr-tests.c b/tests/qtest/migration/cpr-= tests.c index 63ca5f3996..48c98f0089 100644 --- a/tests/qtest/migration/cpr-tests.c +++ b/tests/qtest/migration/cpr-tests.c @@ -15,6 +15,9 @@ #include "migration/framework.h" #include "migration/migration-qmp.h" #include "migration/migration-util.h" +#include "qapi/error.h" +#include "qobject/qjson.h" +#include "qobject/qlist.h" =20 =20 static char *tmpfs; @@ -42,10 +45,56 @@ static void test_mode_reboot(char *name, MigrateCommon = *args) test_file_common(args, true); } =20 -static void *test_mode_transfer_start(QTestState *from, QTestState *to) +static int test_transfer(MigrateCommon *args, const char *cpr_channel, + bool incoming_defer) { + QTestState *from, *to; + QObject *obj, *out_channels =3D qobject_from_json(args->connect_channe= ls, + &error_abort); + QList *channels_list; + + /* + * The cpr channel must be included in outgoing channels, but not in + * migrate-incoming channels. + */ + channels_list =3D qobject_to(QList, out_channels); + obj =3D migrate_str_to_channel(cpr_channel); + qlist_append(channels_list, obj); + + if (migrate_start(&from, &to, args->listen_uri, &args->start)) { + return -1; + } + migrate_set_parameter_str(from, "mode", "cpr-transfer"); - return NULL; + + wait_for_serial("src_serial"); + + qtest_qmp_assert_success(from, "{ 'execute' : 'stop'}"); + wait_for_stop(from, get_src()); + migrate_ensure_converge(from); + + migrate_qmp(from, to, NULL, out_channels, "{}"); + + qtest_connect(to); + qtest_qmp_handshake(to, NULL); + if (incoming_defer) { + QObject *in_channels =3D qobject_from_json(args->connect_channels, + &error_abort); + + migrate_incoming_qmp(to, NULL, in_channels, "{}"); + } + + wait_for_migration_complete(from); + wait_for_migration_complete(to); + + qtest_qmp_assert_success(to, "{ 'execute' : 'cont'}"); + + wait_for_resume(to, get_dst()); + wait_for_serial("dest_serial"); + + migrate_end(from, to, true); + + return 0; } =20 /* @@ -86,15 +135,13 @@ static void test_mode_transfer_common(MigrateCommon *a= rgs, bool incoming_defer) =20 args->listen_uri =3D incoming_defer ? "defer" : uri; args->connect_channels =3D connect_channels; - args->cpr_channel =3D cpr_channel; - args->start_hook =3D test_mode_transfer_start; =20 args->start.opts_source =3D opts; args->start.opts_target =3D opts_target; args->start.defer_target_connect =3D true; args->start.mem_type =3D MEM_TYPE_MEMFD; =20 - if (test_precopy_common(args) < 0) { + if (test_transfer(args, cpr_channel, incoming_defer) < 0) { close(cpr_sockfd); unlink(cpr_path); } diff --git a/tests/qtest/migration/framework.c b/tests/qtest/migration/fram= ework.c index 49c7f37e60..4cd07be1d5 100644 --- a/tests/qtest/migration/framework.c +++ b/tests/qtest/migration/framework.c @@ -20,7 +20,6 @@ #include "ppc-util.h" #include "qapi/error.h" #include "qobject/qjson.h" -#include "qobject/qlist.h" #include "qemu/bswap.h" #include "qemu/module.h" #include "qemu/option.h" @@ -833,10 +832,7 @@ int test_precopy_common(MigrateCommon *args) { QTestState *from, *to; void *data_hook =3D NULL; - QObject *in_channels =3D NULL; - QObject *out_channels =3D NULL; - - g_assert(!args->cpr_channel || args->connect_channels); + QObject *channels =3D NULL; =20 if (migrate_start(&from, &to, args->listen_uri, &args->start)) { return -1; @@ -869,40 +865,16 @@ int test_precopy_common(MigrateCommon *args) } } =20 - /* - * The cpr channel must be included in outgoing channels, but not in - * migrate-incoming channels. - */ if (args->connect_channels) { - if (args->start.defer_target_connect && - !strcmp(args->listen_uri, "defer")) { - in_channels =3D qobject_from_json(args->connect_channels, - &error_abort); - } - out_channels =3D qobject_from_json(args->connect_channels, &error_= abort); - - if (args->cpr_channel) { - QList *channels_list =3D qobject_to(QList, out_channels); - QObject *obj =3D migrate_str_to_channel(args->cpr_channel); - - qlist_append(channels_list, obj); - } + channels =3D qobject_from_json(args->connect_channels, &error_abor= t); } =20 if (args->result =3D=3D MIG_TEST_QMP_ERROR) { - migrate_qmp_fail(from, args->connect_uri, out_channels, "{}"); + migrate_qmp_fail(from, args->connect_uri, channels, "{}"); goto finish; } =20 - migrate_qmp(from, to, args->connect_uri, out_channels, "{}"); - - if (args->start.defer_target_connect) { - qtest_connect(to); - qtest_qmp_handshake(to, NULL); - if (!strcmp(args->listen_uri, "defer")) { - migrate_incoming_qmp(to, args->connect_uri, in_channels, "{}"); - } - } + migrate_qmp(from, to, args->connect_uri, channels, "{}"); =20 if (args->result !=3D MIG_TEST_SUCCEED) { bool allow_active =3D args->result =3D=3D MIG_TEST_FAIL; --=20 2.53.0 From nobody Sat May 30 17:43:30 2026 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1779313058; cv=none; d=zohomail.com; s=zohoarc; b=HT902JPlKCqbS6sjWuSG/APc44YgjVSQBwqi+oXkOjeJeI2VvNb4QeinFvvX6bxPPpx+Zb9nsBZ13zydyrNoEpK7JGCpxR78grT1qxbPtXY4Sz7CDFS6/6Tw32280yW8Bt+Rkl1cwV1164sJXSlFiJ6nIxDmvDok8TqUiKRgmPI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779313058; 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=YWmF5fN1VlC2+bo+SJfWP6rjbL3xgW5S3LDV2GwmYOQ=; b=edXjRfy49Dy8Cxbo5488wQC2By7qICUYFKhrYaLfIl5GeG5nuBrDng8JaFVPETJsLcJ8/wQwiomSR7jhS8xNMh/MvgLt4Y8cWy4xeaay8APZJs7bXkaTylhwMNGOQyNFKmj+MjgNF98TWQwiKu7UbvcOouOfOrXTt05VJpXzg50= 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=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1779313058601953.394138649537; Wed, 20 May 2026 14:37:38 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wPoYh-00014o-04; Wed, 20 May 2026 17:34:31 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wPoYf-00014a-L4 for qemu-devel@nongnu.org; Wed, 20 May 2026 17:34:29 -0400 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 1wPoYd-0007EO-Pd for qemu-devel@nongnu.org; Wed, 20 May 2026 17:34:29 -0400 Received: from mail-qk1-f199.google.com (mail-qk1-f199.google.com [209.85.222.199]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-463-lvVp7QZfOamN_MWcu8OZbw-1; Wed, 20 May 2026 17:34:25 -0400 Received: by mail-qk1-f199.google.com with SMTP id af79cd13be357-910b2b92741so1018988785a.0 for ; Wed, 20 May 2026 14:34:25 -0700 (PDT) Received: from x1.com ([142.189.10.167]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-8ca360b362fsm133062716d6.22.2026.05.20.14.34.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 May 2026 14:34:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1779312866; 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=YWmF5fN1VlC2+bo+SJfWP6rjbL3xgW5S3LDV2GwmYOQ=; b=PLNfxeWmIrC2Id+OFNI3zu68gt3yc8618A8vqRLb2p9ucyv9BpN0RF8PfnRJA+HDtYAqqY NxWg8pyaHoGO1jfBhZOd9devshQOKwtNpsct+2TBLJ3DBHQveCdlnd84fXfy5F7NZhkQQM qOhLqK2j3A4jLSlZ0oSj0qjQ/W8o/SU= X-MC-Unique: lvVp7QZfOamN_MWcu8OZbw-1 X-Mimecast-MFC-AGG-ID: lvVp7QZfOamN_MWcu8OZbw_1779312865 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1779312865; x=1779917665; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=YWmF5fN1VlC2+bo+SJfWP6rjbL3xgW5S3LDV2GwmYOQ=; b=U28UG2nHU6LtcM1juxiYkbF946FCRg2fvljkH7M8sZA7OOkLsy93umJvpD1KNrskug Tu9DLHVP2XU5rgXayTsJgfonDUo8/fIGNVnC/y6xEcdj7DkkPaoYGijmrpomUaCVClPa ExbSDQ0qdGUbeqSdlvwSTizsx7Nze/IpEdxbrD5DlodDyvtBxvhRFmffsxZ07KjE7Qjc axohsjIfcA9Lq3c7VI4pqHyaef2oEfbAVNqB6mU5ARvwkyWBgeHH7OxGnBrmvrEFvPYl hE0r3/t7vtcd9Yq+0ocsWfWxpQgtvzx+tJVyhheLNc+XIjNaXHVAn1bBlk39M3nfLLh6 rJ4g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779312865; x=1779917665; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=YWmF5fN1VlC2+bo+SJfWP6rjbL3xgW5S3LDV2GwmYOQ=; b=VMKwnXGjPKnjGpUGYqUMo9l1w+V/wuMstBw/xX/qw2tqv8L4o9cd90YZiIJG6nR//c t2Vl3LJ90rJ/ICZrD1w7rysC6C4mt/it+TdVGI+6fs+Q4sJklZ7lZh2p0SxngxcTZA0r TDSQYo2oeZMbenZ/levGuS5f8Lgp4Mr7g55bIBtpCGCO4wXae3u2bvGKVrJww9CYUI9r Cwr4XkCqLTXgXunYAh86dWrMWsCLQws2SWAsKyVkpXomS690O1ahr8xbzjGFxfyCHBFc 2zWTKail7VsBNFeqDK3kGAldKtrtBmWblkXP17d95ZPrV2IC5yOZNW7T7FVqPirzFHZ8 bliw== X-Gm-Message-State: AOJu0YyZhtBKrQLD2qlB4jiPaD8tnePZCr8vxunHdZA7/RrCPpB9oTCg OY2N73G0L/JsqmqO0XsK4tq6hYzku4wwC6ynXlJ2d+cGPS2o/hvgzF/lzyV52soZ6d5+323ppvL gbSFmERXzJlZk8iXHZWHRiz0xsWJQ7S13nVc5+ZDpm/u3V+qwHOaTYdBfdAAOZ8rzy7VIM9GdXB PpZhtn+Tlzi5zgLR0rQ2OoGu/7ecwGgN1zzIncjw== X-Gm-Gg: Acq92OFW/nxeB0lpeI0WnihGhouZpKR6tycZWhJk4TX1NFJlSGgk3jcyzdgIhlJraf5 1THGHNMh2Q3lKzS6mUSq93ZE7Jb2qDL2Qj3T79jpThttCew5k6INzaQH9hlCqDKtE0QAJ35+ptz wJjnhfPsqsc3BqqtVH1ECPsJXSfNsV0Ng6JJ6VBxMtoaZnjZgx5QY1dkl4+O3OOt518bR4sJwIx /0xTMzfHBZUd0UNym2dXgJIuB5o6xTxROTpAjRqtmWuTnAWPF6dbheDvlGynX/BSUnJ9NvZ/79h sONd44LsFvlqLpICxfl9iBaTTgvTlUgTq9PZKVkQzaJI/iSTOjS+lt5q1mRhJJ7esV5tkBMAYqo 9glOkPnXzMIVV1zDYVRiQQ8YVrWt52gxz993CpOAsQswp X-Received: by 2002:a05:620a:4611:b0:910:2fea:c17c with SMTP id af79cd13be357-914a2328724mr34252985a.19.1779312864963; Wed, 20 May 2026 14:34:24 -0700 (PDT) X-Received: by 2002:a05:620a:4611:b0:910:2fea:c17c with SMTP id af79cd13be357-914a2328724mr34248085a.19.1779312864356; Wed, 20 May 2026 14:34:24 -0700 (PDT) From: Peter Xu To: qemu-devel@nongnu.org Cc: Fabiano Rosas , Peter Xu Subject: [PULL 08/29] tests/qtest/migration: Make file-tests defer by default Date: Wed, 20 May 2026 17:33:36 -0400 Message-ID: <20260520213357.40646-9-peterx@redhat.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260520213357.40646-1-peterx@redhat.com> References: <20260520213357.40646-1-peterx@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=lists1p.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: -24 X-Spam_score: -2.5 X-Spam_bar: -- X-Spam_report: (-2.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.445, 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_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-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.29 Precedence: list List-Id: qemu development 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: 1779313060932158501 Content-Type: text/plain; charset="utf-8" From: Fabiano Rosas All file: tests use listen_uri=3D"defer". Make this the default in the common function. Signed-off-by: Fabiano Rosas Reviewed-by: Peter Xu Link: https://lore.kernel.org/r/20260505160915.25558-3-farosas@suse.de Signed-off-by: Peter Xu --- tests/qtest/migration/cpr-tests.c | 1 - tests/qtest/migration/file-tests.c | 14 -------------- tests/qtest/migration/framework.c | 2 +- 3 files changed, 1 insertion(+), 16 deletions(-) diff --git a/tests/qtest/migration/cpr-tests.c b/tests/qtest/migration/cpr-= tests.c index 48c98f0089..18217f0460 100644 --- a/tests/qtest/migration/cpr-tests.c +++ b/tests/qtest/migration/cpr-tests.c @@ -36,7 +36,6 @@ static void test_mode_reboot(char *name, MigrateCommon *a= rgs) FILE_TEST_FILENAME); =20 args->connect_uri =3D uri; - args->listen_uri =3D "defer"; args->start_hook =3D migrate_hook_start_mode_reboot; =20 args->start.mem_type =3D MEM_TYPE_SHMEM; diff --git a/tests/qtest/migration/file-tests.c b/tests/qtest/migration/fil= e-tests.c index fef172068f..75135447f8 100644 --- a/tests/qtest/migration/file-tests.c +++ b/tests/qtest/migration/file-tests.c @@ -70,8 +70,6 @@ static void test_precopy_file(char *name, MigrateCommon *= args) g_autofree char *uri =3D g_strdup_printf("file:%s/%s", tmpfs, FILE_TEST_FILENAME); args->connect_uri =3D uri; - args->listen_uri =3D "defer"; - test_file_common(args, true); } =20 @@ -114,7 +112,6 @@ static void test_precopy_file_offset_fdset(char *name, = MigrateCommon *args) g_autofree char *uri =3D g_strdup_printf("file:/dev/fdset/1,offset=3D%= d", FILE_TEST_OFFSET); args->connect_uri =3D uri; - args->listen_uri =3D "defer"; args->start_hook =3D migrate_hook_start_file_offset_fdset; =20 test_file_common(args, false); @@ -128,8 +125,6 @@ static void test_precopy_file_offset(char *name, Migrat= eCommon *args) FILE_TEST_OFFSET); =20 args->connect_uri =3D uri; - args->listen_uri =3D "defer"; - test_file_common(args, false); } =20 @@ -140,7 +135,6 @@ static void test_precopy_file_offset_bad(char *name, Mi= grateCommon *args) tmpfs, FILE_TEST_FILENAME); =20 args->connect_uri =3D uri; - args->listen_uri =3D "defer"; args->result =3D MIG_TEST_QMP_ERROR; =20 test_file_common(args, false); @@ -152,7 +146,6 @@ static void test_precopy_file_mapped_ram_live(char *nam= e, MigrateCommon *args) FILE_TEST_FILENAME); =20 args->connect_uri =3D uri; - args->listen_uri =3D "defer"; =20 args->start.caps[MIGRATION_CAPABILITY_MAPPED_RAM] =3D true; =20 @@ -165,7 +158,6 @@ static void test_precopy_file_mapped_ram(char *name, Mi= grateCommon *args) FILE_TEST_FILENAME); =20 args->connect_uri =3D uri; - args->listen_uri =3D "defer"; =20 args->start.caps[MIGRATION_CAPABILITY_MAPPED_RAM] =3D true; =20 @@ -177,7 +169,6 @@ static void test_multifd_file_mapped_ram_live(char *nam= e, MigrateCommon *args) g_autofree char *uri =3D g_strdup_printf("file:%s/%s", tmpfs, FILE_TEST_FILENAME); args->connect_uri =3D uri; - args->listen_uri =3D "defer"; =20 args->start.caps[MIGRATION_CAPABILITY_MULTIFD] =3D true; args->start.caps[MIGRATION_CAPABILITY_MAPPED_RAM] =3D true; @@ -191,7 +182,6 @@ static void test_multifd_file_mapped_ram(char *name, Mi= grateCommon *args) FILE_TEST_FILENAME); =20 args->connect_uri =3D uri; - args->listen_uri =3D "defer"; =20 args->start.caps[MIGRATION_CAPABILITY_MULTIFD] =3D true; args->start.caps[MIGRATION_CAPABILITY_MAPPED_RAM] =3D true; @@ -213,7 +203,6 @@ static void test_multifd_file_mapped_ram_dio(char *name= , MigrateCommon *args) g_autofree char *uri =3D g_strdup_printf("file:%s/%s", tmpfs, FILE_TEST_FILENAME); args->connect_uri =3D uri; - args->listen_uri =3D "defer"; args->start_hook =3D migrate_hook_start_multifd_mapped_ram_dio; =20 args->start.caps[MIGRATION_CAPABILITY_MAPPED_RAM] =3D true; @@ -285,7 +274,6 @@ static void test_multifd_file_mapped_ram_fdset(char *na= me, MigrateCommon *args) FILE_TEST_OFFSET); =20 args->connect_uri =3D uri; - args->listen_uri =3D "defer"; args->start_hook =3D migrate_hook_start_multifd_mapped_ram_fdset; args->end_hook =3D migrate_hook_end_multifd_mapped_ram_fdset; =20 @@ -301,7 +289,6 @@ static void test_multifd_file_mapped_ram_fdset_dio(char= *name, g_autofree char *uri =3D g_strdup_printf("file:/dev/fdset/1,offset=3D%= d", FILE_TEST_OFFSET); args->connect_uri =3D uri; - args->listen_uri =3D "defer"; args->start_hook =3D migrate_hook_start_multifd_mapped_ram_fdset_dio; args->end_hook =3D migrate_hook_end_multifd_mapped_ram_fdset; =20 @@ -332,7 +319,6 @@ test_precopy_file_mapped_ram_ignore_shared(char *name, = MigrateCommon *args) g_autofree char *uri =3D g_strdup_printf("file:%s/%s", tmpfs, FILE_TEST_FILENAME); args->connect_uri =3D uri; - args->listen_uri =3D "defer"; =20 args->start.caps[MIGRATION_CAPABILITY_MAPPED_RAM] =3D true; args->start.caps[MIGRATION_CAPABILITY_X_IGNORE_SHARED] =3D true; diff --git a/tests/qtest/migration/framework.c b/tests/qtest/migration/fram= ework.c index 4cd07be1d5..a0c80c0a61 100644 --- a/tests/qtest/migration/framework.c +++ b/tests/qtest/migration/framework.c @@ -972,7 +972,7 @@ void test_file_common(MigrateCommon *args, bool stop_sr= c) void *data_hook =3D NULL; bool check_offset =3D false; =20 - if (migrate_start(&from, &to, args->listen_uri, &args->start)) { + if (migrate_start(&from, &to, "defer", &args->start)) { return; } =20 --=20 2.53.0 From nobody Sat May 30 17:43:30 2026 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1779312907; cv=none; d=zohomail.com; s=zohoarc; b=LjWvNoY5UM4qRjKuZFnsxtGoZQrmYIHXJdPyc5Ksgwgevr5mjUu4gBjAzey0ftmg5FG3JKMQuo88jur1x1EyOJBNJ+dEwtLAij7bjeQNsJ5o3izKAT3GyJGHWzenxFkWPmXsdVTDFEGL835sqT/pPow/mfEjMFFwm16NPfIdPS0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779312907; 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=wBZX6Cd4M/StAr5hUusYmsPDgqcbX8TIuXk4ahCxk/s=; b=kFT7rfDAoaQ/d/GZo78bbmuWoiu1wYrR5rz5jy4yy84BgvamPZ/b76B8ptTl6AEhuIUJ3oGVU3mVpfaJS557Xd9FIk511lzcNaeejy0lc6FUWVKOM9h6QuELrDE0wk+4ITHJ2felwkykZ1MkgxXm0+RxNbCgB7Djp/t9WbK6RRM= 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=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1779312907139234.81601753398786; Wed, 20 May 2026 14:35:07 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wPoYj-00015H-O7; Wed, 20 May 2026 17:34:33 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wPoYi-000156-DW for qemu-devel@nongnu.org; Wed, 20 May 2026 17:34:32 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wPoYg-0007Es-Mz for qemu-devel@nongnu.org; Wed, 20 May 2026 17:34:32 -0400 Received: from mail-qt1-f197.google.com (mail-qt1-f197.google.com [209.85.160.197]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-522-E_sJRhY4P_OhLlkdIi4vGQ-1; Wed, 20 May 2026 17:34:28 -0400 Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-50d8e8c47a3so18584681cf.0 for ; Wed, 20 May 2026 14:34:28 -0700 (PDT) Received: from x1.com ([142.189.10.167]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-8ca360b362fsm133062716d6.22.2026.05.20.14.34.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 May 2026 14:34:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1779312869; 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=wBZX6Cd4M/StAr5hUusYmsPDgqcbX8TIuXk4ahCxk/s=; b=ebBnstzyy8GL+CKOVEAlB2IA4x+LBI4Egihdln1ltOdH4yPHqtuS7xSm8fN/vU6NS0JPQF 1PsCqncyOIU3GaGwmPAjkoXBbl8eNho0GwXfj/PJ5zGcRcaZ/9/MwePl+O3CNmvuuMQBU5 rEwO3t5hPNXLM30U72VbMve5ca6ulWM= X-MC-Unique: E_sJRhY4P_OhLlkdIi4vGQ-1 X-Mimecast-MFC-AGG-ID: E_sJRhY4P_OhLlkdIi4vGQ_1779312867 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1779312867; x=1779917667; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=wBZX6Cd4M/StAr5hUusYmsPDgqcbX8TIuXk4ahCxk/s=; b=rNBJMXfSaEptv+7PCgV0YPVaQT8gJbRWxDC92dE8fUcESFMq+TelFYYmTlVZxKA2fL aRR+QioJNFPfgXDvxdgTSAZhY/OQUB40OUb8FKfrDbLbNLl0CUaVvk5prjb15nTZifP9 Oa39R/sRJVuUICfElL1NNOPSFzidAH8S8Y03e6Bhp2+ZEHFk4tWcb49mgSe4Gv9iL2M6 mBrcZPF8i+HiOX4x9bh7BF+It3wqKrg1pK2oVktK+suop2Tqr+lJyc7w0GdLNM2p/UQn dU32PJ9oC91/jMnY6Ugjdp2XUYk5bcOVtJdznFxKgL1wXTE264qGzcKID7BQ4ak5G6Xn DT3w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779312867; x=1779917667; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=wBZX6Cd4M/StAr5hUusYmsPDgqcbX8TIuXk4ahCxk/s=; b=Xj0+S9DPuq++tsgGWiNKOx5yw28gFwHLIuCxKlsk/SdxKLGLXbPVuuhwG5wwyOswsO 5LFp+OH8RhvKdV2wGfmI4Vl8QPQLo6CpErh9AocIunIFsiSekFtCAZ7yYb2Q8VbowRzd B1W7MGV1mzF9ySSw5KNCIoHHvfjhzZ0ecg41M/a24hogsMru+CCBfucV/r3SAKtGJz4h YkBJrbo6e56tZ7xEfEk/O4YciVyXMfWxzmV27x+SW+XKZqxn25sgZAfspJvpqEBou05f LMQns0U98TabgLGeosri3gZFyyOOvgD/iFM1yD8g4cQPkTPe4lMZ5Lhzl/8BCano3zui 74bg== X-Gm-Message-State: AOJu0YxAJa426SyZASf8bLrLJRjLchn8FPICvX2BBS+HUQ5pixUi4uH1 t6uIEaGD9zxz0UJb5BsP+/loECBlpNYJf6LaVrIvNGoRggOw5mAS9Mxr8eoglqJqL5Q27GLk4zr LfvnHJ7+LJRDn9ilCpOpQhTGOY34OUw9ktnXWO/jydmriC9xVGHWuZ48fjxH6sn7dGjXXO7AdqA SY5ijg2XOFB7Qhk9Unkmp+8r+1aQW0Tp7QIvTFng== X-Gm-Gg: Acq92OGoHX8F/ed/AQdbHcCE30lYTqLfzYkhpCW055EspNEyfis1DtUPEJwdkwQCvSY ufUSLVTyMEoreh4N34KduOfd03EumGmraFxCsxTk9S/dVzxjHvlMeihRWOQ+6JSf0Fkykjl8134 O0xm7NQYPlwQTP3cZyC+vXc2gVAM2llZFRADA5i61tl/R7HNzrPxaIUWEvRpYfOCeVOjN9RjQS7 bvs24kM3iv0cBQ/hSsDUJm8KYrkVySTtyeg+8AXTgwNquS6V5PnJ7oKrOeJvT7r+0oX8+CDfhrW GdYb7bVRJ5cnK8G/clccqiVUURoLAV3W1sbGAhtU+WHsqoB5dKLCder7Gbmft7XZ5QwOYj+OGuz AcJYwLPUoxIT46OBW54tBxB7mL02VsOTeTJYG8rxU9Ctd X-Received: by 2002:a05:622a:182a:b0:50d:3eac:8466 with SMTP id d75a77b69052e-516c5512732mr3505161cf.30.1779312867264; Wed, 20 May 2026 14:34:27 -0700 (PDT) X-Received: by 2002:a05:622a:182a:b0:50d:3eac:8466 with SMTP id d75a77b69052e-516c5512732mr3504541cf.30.1779312866638; Wed, 20 May 2026 14:34:26 -0700 (PDT) From: Peter Xu To: qemu-devel@nongnu.org Cc: Fabiano Rosas , Peter Xu Subject: [PULL 09/29] tests/qtest/migration: Set file URI by default Date: Wed, 20 May 2026 17:33:37 -0400 Message-ID: <20260520213357.40646-10-peterx@redhat.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260520213357.40646-1-peterx@redhat.com> References: <20260520213357.40646-1-peterx@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=peterx@redhat.com; helo=us-smtp-delivery-124.mimecast.com 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, DKIMWL_WL_HIGH=-0.445, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-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.29 Precedence: list List-Id: qemu development 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: 1779312907785158500 Content-Type: text/plain; charset="utf-8" From: Fabiano Rosas Most file: tests use the same URI. Make it a default in the common function. Signed-off-by: Fabiano Rosas Reviewed-by: Peter Xu Link: https://lore.kernel.org/r/20260505160915.25558-4-farosas@suse.de Signed-off-by: Peter Xu --- tests/qtest/migration/file-tests.c | 29 ----------------------------- tests/qtest/migration/framework.c | 6 ++++++ 2 files changed, 6 insertions(+), 29 deletions(-) diff --git a/tests/qtest/migration/file-tests.c b/tests/qtest/migration/fil= e-tests.c index 75135447f8..4b6a2eeb7b 100644 --- a/tests/qtest/migration/file-tests.c +++ b/tests/qtest/migration/file-tests.c @@ -67,9 +67,6 @@ static void test_file_connect_outgoing_fd_leak(char *name= , MigrateCommon *args) =20 static void test_precopy_file(char *name, MigrateCommon *args) { - g_autofree char *uri =3D g_strdup_printf("file:%s/%s", tmpfs, - FILE_TEST_FILENAME); - args->connect_uri =3D uri; test_file_common(args, true); } =20 @@ -142,11 +139,6 @@ static void test_precopy_file_offset_bad(char *name, M= igrateCommon *args) =20 static void test_precopy_file_mapped_ram_live(char *name, MigrateCommon *a= rgs) { - g_autofree char *uri =3D g_strdup_printf("file:%s/%s", tmpfs, - FILE_TEST_FILENAME); - - args->connect_uri =3D uri; - args->start.caps[MIGRATION_CAPABILITY_MAPPED_RAM] =3D true; =20 test_file_common(args, false); @@ -154,11 +146,6 @@ static void test_precopy_file_mapped_ram_live(char *na= me, MigrateCommon *args) =20 static void test_precopy_file_mapped_ram(char *name, MigrateCommon *args) { - g_autofree char *uri =3D g_strdup_printf("file:%s/%s", tmpfs, - FILE_TEST_FILENAME); - - args->connect_uri =3D uri; - args->start.caps[MIGRATION_CAPABILITY_MAPPED_RAM] =3D true; =20 test_file_common(args, true); @@ -166,10 +153,6 @@ static void test_precopy_file_mapped_ram(char *name, M= igrateCommon *args) =20 static void test_multifd_file_mapped_ram_live(char *name, MigrateCommon *a= rgs) { - g_autofree char *uri =3D g_strdup_printf("file:%s/%s", tmpfs, - FILE_TEST_FILENAME); - args->connect_uri =3D uri; - args->start.caps[MIGRATION_CAPABILITY_MULTIFD] =3D true; args->start.caps[MIGRATION_CAPABILITY_MAPPED_RAM] =3D true; =20 @@ -178,11 +161,6 @@ static void test_multifd_file_mapped_ram_live(char *na= me, MigrateCommon *args) =20 static void test_multifd_file_mapped_ram(char *name, MigrateCommon *args) { - g_autofree char *uri =3D g_strdup_printf("file:%s/%s", tmpfs, - FILE_TEST_FILENAME); - - args->connect_uri =3D uri; - args->start.caps[MIGRATION_CAPABILITY_MULTIFD] =3D true; args->start.caps[MIGRATION_CAPABILITY_MAPPED_RAM] =3D true; =20 @@ -200,9 +178,6 @@ static void *migrate_hook_start_multifd_mapped_ram_dio(= QTestState *from, =20 static void test_multifd_file_mapped_ram_dio(char *name, MigrateCommon *ar= gs) { - g_autofree char *uri =3D g_strdup_printf("file:%s/%s", tmpfs, - FILE_TEST_FILENAME); - args->connect_uri =3D uri; args->start_hook =3D migrate_hook_start_multifd_mapped_ram_dio; =20 args->start.caps[MIGRATION_CAPABILITY_MAPPED_RAM] =3D true; @@ -316,10 +291,6 @@ static void migration_test_add_file_smoke(MigrationTes= tEnv *env) static void test_precopy_file_mapped_ram_ignore_shared(char *name, MigrateCommon *args) { - g_autofree char *uri =3D g_strdup_printf("file:%s/%s", tmpfs, - FILE_TEST_FILENAME); - args->connect_uri =3D uri; - args->start.caps[MIGRATION_CAPABILITY_MAPPED_RAM] =3D true; args->start.caps[MIGRATION_CAPABILITY_X_IGNORE_SHARED] =3D true; =20 diff --git a/tests/qtest/migration/framework.c b/tests/qtest/migration/fram= ework.c index a0c80c0a61..3802c6f57d 100644 --- a/tests/qtest/migration/framework.c +++ b/tests/qtest/migration/framework.c @@ -971,11 +971,17 @@ void test_file_common(MigrateCommon *args, bool stop_= src) QTestState *from, *to; void *data_hook =3D NULL; bool check_offset =3D false; + g_autofree char *uri =3D NULL; =20 if (migrate_start(&from, &to, "defer", &args->start)) { return; } =20 + if (!args->connect_uri) { + uri =3D g_strdup_printf("file:%s/%s", tmpfs, FILE_TEST_FILENAME); + args->connect_uri =3D uri; + } + /* * File migration is never live. We can keep the source VM running * during migration, but the destination will not be running --=20 2.53.0 From nobody Sat May 30 17:43:30 2026 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1779312923; cv=none; d=zohomail.com; s=zohoarc; b=X75dpI4B86mNuEhPVtPymIXWhjZPhqfBpYGFrD4aeJQtq+MRCrqseRKkKJgNThHnYXi9DHkusLejoDXQBndn0e6ujMxshEPoxFVWmMtkxg5ICkcafOvZ54++5p7N2I3TUuTMkqslZ8wGstEXpw6HnwGrJo/YQ5+sfh4iTg64N9o= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779312923; 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=7f6K3MBcV2u7y7s25cXpahSIeN8CJUpok59sEYFMOnM=; b=aLn2g0I135rTzIB3qhX6/PFMDawKvIGmkgy/4N1Bb64Om0J2061S8CkWtklaQbgEduawUuQTQXUSIk2UiI45FeDT5hmaznkDvvXGBFwSiBfRREGPW5vFPdCRQO07i6wHtZLql278mY7mXufLe7xqNgxB2aqrlaBrn0/HvZGkkNc= 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=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1779312923737834.8132104041431; Wed, 20 May 2026 14:35:23 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wPoYl-00015i-Lx; Wed, 20 May 2026 17:34:35 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wPoYk-00015U-TJ for qemu-devel@nongnu.org; Wed, 20 May 2026 17:34:34 -0400 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 1wPoYi-0007F8-W2 for qemu-devel@nongnu.org; Wed, 20 May 2026 17:34:34 -0400 Received: from mail-qv1-f71.google.com (mail-qv1-f71.google.com [209.85.219.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-627-IvhPcS8SNmu7VPGyIZ6amA-1; Wed, 20 May 2026 17:34:31 -0400 Received: by mail-qv1-f71.google.com with SMTP id 6a1803df08f44-8b4bebd2b2aso152650986d6.1 for ; Wed, 20 May 2026 14:34:30 -0700 (PDT) Received: from x1.com ([142.189.10.167]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-8ca360b362fsm133062716d6.22.2026.05.20.14.34.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 May 2026 14:34:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1779312872; 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=7f6K3MBcV2u7y7s25cXpahSIeN8CJUpok59sEYFMOnM=; b=M+DG9UaywNVO8qxAagSh4XhRXNsGys4Y3q+1sn5qhK09mXTIWklKvyDTMFpsWHepZjwihi cA78NF77tWe6ufBiCX6XVnHeQ8PYW+aN50PiEe0xohHqvc6hSNNI9qu2ioPthbRHK+dj34 4ARa4rjjaDKCDhhJmjCoMza4AXTlhpI= X-MC-Unique: IvhPcS8SNmu7VPGyIZ6amA-1 X-Mimecast-MFC-AGG-ID: IvhPcS8SNmu7VPGyIZ6amA_1779312870 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1779312870; x=1779917670; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=7f6K3MBcV2u7y7s25cXpahSIeN8CJUpok59sEYFMOnM=; b=cBRrbCTjQwn+BNAXDGtZBjDzQT6dL2tfnCQ+OIPOHf8WA244goQOJEmsy1aQPcHcvn 4fJbYwMe1T7uTDETorxaMK15GbNpBOqE0/D/6eyrtgSfqMMQa7NxNGyJ4xsrF0cb2At9 Q0eajChN4DuaOy1wv7re0OhMCqVGa+k4DQBcAqHxqHN3dVZRQpnFxgg9juNhRHBK0I3+ /9z4XSYSr0T3IRWyNMGVWY/JHP7h1IRbgM9j5VNYwdEASHi7+Mbizd2bGXy5IxPCtAQ1 itSlDWoTfxEd62cFV+f56dpjVhTjy+hzdUEXV7IVtiHGgIY9s5jCV/FvIyMzeZVKheDk QeFA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779312870; x=1779917670; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=7f6K3MBcV2u7y7s25cXpahSIeN8CJUpok59sEYFMOnM=; b=F6wzVgP2iFNYLgQOJlkiT1+zpezifFW2TEzHafjGBpSzgnFTfQsDtpMmhXETv3aVRg b7z3VdCeBO8K1Yl0mR40CcQfTts/5pZC8WUkc/kLt8kPIwf9tZrjAW2wo8ee8XXIX1dh T5pl+nrtDW01fkwMbuRPEsl5N4TUX++PjFRwqxKdTuZUU1EIXfVUiopRdOVpJUEthOzn 3z1XrkDauGgorBYkZyb1tO+SFxExCGE3/C/hFO3nlFAVpZ31xjVPLTWHBEE1h5yG86uT 10yORZzKUF3nmmGoVZobpFIp5zd3BjN3KQ3/4rj8caJAp6Uc+k1teS8bmRtOa3CvDOEV sL+A== X-Gm-Message-State: AOJu0YyX36W8MTWtca5rYMJ+iWKwQdf3//NWcBsdRKJnS4p6caL9WMS9 YoCoP/6L1/YGfNkmyAyfi9vcBp3fjh4VMqVviUfKSIqlXPEBdzFmAH4YdjgC68hxzw/u4naXQ2b PnqeeJVk5spEIUxByQI3c+Oz6fweQJx6kjW35Cnv7BrJ+mFNdEEQusjHS2vNYFZFjVFIu6w3x6o M6tyPgE7KFGQB5oN498OwAydivPfaRtpsGp0xwZw== X-Gm-Gg: Acq92OGm79HTjFUE2pVWXr5Sz12LkmHZBw+bA+sRTe5aLqc9+qKzYgRgMYcUZ87Rn/2 abddyGBEJJ6FZXIWL67D7WNhcaBveWNU3a0P7TW6Qz7LYanfkhMQ03aK7d+aF0AbkpcctEojctL h3xph4VrPRY7ZIqWg+h4YUzCshVmsN3BZDfsHtHSAfqPoxADMbtbIUfmwuNOltTXrXJMSQbK8/L 8CFxS08sORU1VXfv4cO3ZVVc0NhFwEPzDg/uMYdMa4NxXSbQaA5S/nYsxlc/B3isUc0w5rjSZlU 3PMA2ZUA99DcvEgt3wm5jbe2YW1kv1HRYZy6p/ur0n3N0jPPbFHEE3BLc6v3dINI7HXnq/SwVTM Yc85Q1wSzKAHnmqUZ6YgLZmdJzZstQtUy0JS+J330aWHe X-Received: by 2002:a05:6214:5403:b0:89c:6692:1d83 with SMTP id 6a1803df08f44-8cc6e8fc4f7mr2235066d6.3.1779312870234; Wed, 20 May 2026 14:34:30 -0700 (PDT) X-Received: by 2002:a05:6214:5403:b0:89c:6692:1d83 with SMTP id 6a1803df08f44-8cc6e8fc4f7mr2234636d6.3.1779312869712; Wed, 20 May 2026 14:34:29 -0700 (PDT) From: Peter Xu To: qemu-devel@nongnu.org Cc: Fabiano Rosas , Peter Xu Subject: [PULL 10/29] tests/qtest/migration: Group unix migration tests Date: Wed, 20 May 2026 17:33:38 -0400 Message-ID: <20260520213357.40646-11-peterx@redhat.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260520213357.40646-1-peterx@redhat.com> References: <20260520213357.40646-1-peterx@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=lists1p.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: -24 X-Spam_score: -2.5 X-Spam_bar: -- X-Spam_report: (-2.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.445, 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_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-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.29 Precedence: list List-Id: qemu development 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: 1779312925777158500 Content-Type: text/plain; charset="utf-8" From: Fabiano Rosas Remove some repetition when defining unix: tests by introducing a _common function. Signed-off-by: Fabiano Rosas Reviewed-by: Peter Xu Link: https://lore.kernel.org/r/20260505160915.25558-5-farosas@suse.de Signed-off-by: Peter Xu --- tests/qtest/migration/framework.h | 1 + tests/qtest/migration/compression-tests.c | 6 +---- tests/qtest/migration/framework.c | 9 +++++++ tests/qtest/migration/precopy-tests.c | 30 +++-------------------- tests/qtest/migration/tls-tests.c | 12 ++------- 5 files changed, 17 insertions(+), 41 deletions(-) diff --git a/tests/qtest/migration/framework.h b/tests/qtest/migration/fram= ework.h index 3ccc6a99d2..825209ee74 100644 --- a/tests/qtest/migration/framework.h +++ b/tests/qtest/migration/framework.h @@ -240,6 +240,7 @@ void test_postcopy_common(MigrateCommon *args); void test_postcopy_recovery_common(MigrateCommon *args, PostcopyRecoveryFailStage fail_stage); int test_precopy_common(MigrateCommon *args); +void test_precopy_unix_common(MigrateCommon *args); void test_file_common(MigrateCommon *args, bool stop_src); void *migrate_hook_start_precopy_tcp_multifd_common(QTestState *from, QTestState *to, diff --git a/tests/qtest/migration/compression-tests.c b/tests/qtest/migrat= ion/compression-tests.c index 845e622cd5..7f2856b7f8 100644 --- a/tests/qtest/migration/compression-tests.c +++ b/tests/qtest/migration/compression-tests.c @@ -123,10 +123,6 @@ migrate_hook_start_xbzrle(QTestState *from, =20 static void test_precopy_unix_xbzrle(char *name, MigrateCommon *args) { - g_autofree char *uri =3D g_strdup_printf("unix:%s/migsocket", tmpfs); - - args->connect_uri =3D uri; - args->listen_uri =3D uri; args->start_hook =3D migrate_hook_start_xbzrle; args->iterations =3D 2; /* @@ -137,7 +133,7 @@ static void test_precopy_unix_xbzrle(char *name, Migrat= eCommon *args) =20 args->start.caps[MIGRATION_CAPABILITY_XBZRLE] =3D true; =20 - test_precopy_common(args); + test_precopy_unix_common(args); } =20 static void * diff --git a/tests/qtest/migration/framework.c b/tests/qtest/migration/fram= ework.c index 3802c6f57d..1d13b897a9 100644 --- a/tests/qtest/migration/framework.c +++ b/tests/qtest/migration/framework.c @@ -934,6 +934,15 @@ finish: return 0; } =20 +void test_precopy_unix_common(MigrateCommon *args) +{ + g_autofree char *uri =3D g_strdup_printf("unix:%s/migsocket", tmpfs); + + args->listen_uri =3D uri; + args->connect_uri =3D uri; + test_precopy_common(args); +} + static void file_dirty_offset_region(void) { g_autofree char *path =3D g_strdup_printf("%s/%s", tmpfs, FILE_TEST_FI= LENAME); diff --git a/tests/qtest/migration/precopy-tests.c b/tests/qtest/migration/= precopy-tests.c index 0426319199..849aef3ed6 100644 --- a/tests/qtest/migration/precopy-tests.c +++ b/tests/qtest/migration/precopy-tests.c @@ -37,62 +37,40 @@ static char *tmpfs; =20 static void test_precopy_unix_plain(char *name, MigrateCommon *args) { - g_autofree char *uri =3D g_strdup_printf("unix:%s/migsocket", tmpfs); - - args->listen_uri =3D uri; - args->connect_uri =3D uri; /* * The simplest use case of precopy, covering smoke tests of * get-dirty-log dirty tracking. */ args->live =3D true; - - test_precopy_common(args); + test_precopy_unix_common(args); } =20 static void test_precopy_unix_suspend_live(char *name, MigrateCommon *args) { - g_autofree char *uri =3D g_strdup_printf("unix:%s/migsocket", tmpfs); - - args->listen_uri =3D uri; - args->connect_uri =3D uri; /* * despite being live, the test is fast because the src * suspends immediately. */ args->live =3D true; - args->start.suspend_me =3D true; - - test_precopy_common(args); + test_precopy_unix_common(args); } =20 static void test_precopy_unix_suspend_notlive(char *name, MigrateCommon *a= rgs) { - g_autofree char *uri =3D g_strdup_printf("unix:%s/migsocket", tmpfs); - - args->listen_uri =3D uri; - args->connect_uri =3D uri; args->start.suspend_me =3D true; - - test_precopy_common(args); + test_precopy_unix_common(args); } =20 static void test_precopy_unix_dirty_ring(char *name, MigrateCommon *args) { - g_autofree char *uri =3D g_strdup_printf("unix:%s/migsocket", tmpfs); - - args->listen_uri =3D uri; - args->connect_uri =3D uri; /* * Besides the precopy/unix basic test, cover dirty ring interface * rather than get-dirty-log. */ args->live =3D true; - args->start.use_dirty_ring =3D true; - - test_precopy_common(args); + test_precopy_unix_common(args); } =20 #ifdef CONFIG_RDMA diff --git a/tests/qtest/migration/tls-tests.c b/tests/qtest/migration/tls-= tests.c index 87898af260..0677ca661e 100644 --- a/tests/qtest/migration/tls-tests.c +++ b/tests/qtest/migration/tls-tests.c @@ -424,14 +424,10 @@ static void test_multifd_postcopy_preempt_recovery_tl= s_psk(char *name, =20 static void test_precopy_unix_tls_psk(char *name, MigrateCommon *args) { - g_autofree char *uri =3D g_strdup_printf("unix:%s/migsocket", tmpfs); - - args->connect_uri =3D uri; - args->listen_uri =3D uri; args->start_hook =3D migrate_hook_start_tls_psk_match; args->end_hook =3D migrate_hook_end_tls_psk; =20 - test_precopy_common(args); + test_precopy_unix_common(args); } =20 #ifdef CONFIG_TASN1 @@ -454,14 +450,10 @@ static void test_precopy_unix_tls_x509_default_host(c= har *name, static void test_precopy_unix_tls_x509_override_host(char *name, MigrateCommon *args) { - g_autofree char *uri =3D g_strdup_printf("unix:%s/migsocket", tmpfs); - - args->connect_uri =3D uri; - args->listen_uri =3D uri; args->start_hook =3D migrate_hook_start_tls_x509_override_host; args->end_hook =3D migrate_hook_end_tls_x509; =20 - test_precopy_common(args); + test_precopy_unix_common(args); } #endif /* CONFIG_TASN1 */ =20 --=20 2.53.0 From nobody Sat May 30 17:43:30 2026 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1779313075; cv=none; d=zohomail.com; s=zohoarc; b=Hnnp+Y6De11fUNCIJ8Z2oINxLtNyctNkd/gSiFzkoagUO0SRdg8nMlU/bwy1wzCyzr4cHNqq6JanwGs83yEztdFjK8UO0IBiv/1FPBycVi+n45Dgpiquo/D8GE2xiPXb9yQq4ftQgMy9nFRl3ze92zTp7JpKei95glhHC0gymXA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779313075; 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=omBGRJjt58xMhL4WgtDR4aWWabcyxt7MDOGFp1172VI=; b=n5EF9yENg27lCL7lkKSJkWynPftPXKbyvkIjG5YFzcl0YS3nN6hrqMYsh2zUWkdybv70Ok+fD820gDQml5Fyk2k6EsyM9/8oIdVl8iuxLnULMZ+UhknWR9h2+cBrG1hG2I5l3yrSpVl4Z8Cus+Pg52vmC5qMUotA53tWuW5vIro= 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=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1779313075659805.632427173264; Wed, 20 May 2026 14:37:55 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wPoYo-00017d-7B; Wed, 20 May 2026 17:34:38 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wPoYm-00015y-LF for qemu-devel@nongnu.org; Wed, 20 May 2026 17:34:36 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wPoYl-0007FP-0v for qemu-devel@nongnu.org; Wed, 20 May 2026 17:34:36 -0400 Received: from mail-qt1-f198.google.com (mail-qt1-f198.google.com [209.85.160.198]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-32-qVs9vceXOnakmWh5EN71Jg-1; Wed, 20 May 2026 17:34:32 -0400 Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-50e423a05c8so151955091cf.0 for ; Wed, 20 May 2026 14:34:32 -0700 (PDT) Received: from x1.com ([142.189.10.167]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-8ca360b362fsm133062716d6.22.2026.05.20.14.34.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 May 2026 14:34:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1779312874; 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=omBGRJjt58xMhL4WgtDR4aWWabcyxt7MDOGFp1172VI=; b=UyxBpvRwI5BncfzgfnNvC1wKvFz+iDOAjSHxN4BY/GsALBlkHyrQZdW3cCWMAWfLppRXCP 4H/QODbpb2Po+qF4whfbLzU5lXSUc5yBwoNn+S029x1wL2RP8VRZpZHJkzOdBZ5aW8mQUt lF4XFOxxn8qk2RyEAnEv5UzAv4hP6ng= X-MC-Unique: qVs9vceXOnakmWh5EN71Jg-1 X-Mimecast-MFC-AGG-ID: qVs9vceXOnakmWh5EN71Jg_1779312872 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1779312872; x=1779917672; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=omBGRJjt58xMhL4WgtDR4aWWabcyxt7MDOGFp1172VI=; b=nER9BBDx9XKy/8D4MeGK6w1NrVRwvXopN9bPQYF3VGYEkkY1+mBVA++CyOInAEckBM 4xm2pKbniZLmE5xraXDOmdU/q55ZUxzdfnioIjnqZV7h9+H3DTuBnYU0CZvpPE+1wvMW pnWnQ4iP2siCicX8tSAUxrbMFG1wp5VckvqlmlN8nM8NkgzGSl851wNlexXM1w0DqoZW oUTKm+WOlqtKETTgWQBshvWV00NuCZpdsD4ZQ4+VHobmBRRLpOaUAxFAHyiGG2dwYQlI 7LvRk7kieEPFJLBF2j+wNT9RykbzeJ9mjHeQeMT4/qBJSAEs6SEH6xGQjeD5E5Cq5ZWa OiDg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779312872; x=1779917672; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=omBGRJjt58xMhL4WgtDR4aWWabcyxt7MDOGFp1172VI=; b=QuOe7Zp3yD9rQS1TjWVA6WL9GQa6ea/8gsk6W9CuYIGmDN2Z+cNAB6fG4AkWDZ+lVU 74rrhLsc6ryu9MRifk2XcnoQp+QYRUD8EfHtlZ/n0RVw3knBl7gy9LrnNJxDgP/j6k3w CzpEVCMAZmbU6Isxeatdfnlb766FOC1GFZKch6u6mamSzrDpjmVUJ7Zm/EM2gYg8MU5M 9dgbrMISIpCGw3qQdgWtnRfUvur+Y0bmSfFMcgFHmTHKAW8GGp8cTEb8liOt3+OoE7ua tgaQoIH38gm54CkMFgZ+n7ZxfUkKiCre9QjB+sqDxrp95yz3feRvKY3siwhswsAYswuh OcnA== X-Gm-Message-State: AOJu0Yy/1y/P6qcS0lSPjsReeyByF3Ag4padlOz/MCuQOjZAhMRp+Jbh KSU7cTgHb6NPDkc5AwCRoRXzjdL1EFxe+j327zn9Ufg1AKnzvhic7pqWMDAUxhTUPcv6CVrKIoA R3X9ErhoNGYCamT3PuxMcFFprf1WuIcpaZPEZXeJCDQinq/FynMWOjbzSG9uJ8UStF6dzrC+lXv Pkc26r3VwhCP8G1jYHuEP0+A2QMDK9uXSFUvY77g== X-Gm-Gg: Acq92OH8oZxQdX7bK2uODcbddElQ8HRyaqr7ulYGNasI/PTKo5MKDfQW4J/8s5sZRgV Hzy1i3DurmmU5+esC9c8ofOR66G2eseOmYFcE9AUg0y90cthOo2yrVFxfBcbFelK6qT6OIlF97o wZfXl9GYsnZ9Huie1Dmi9Q1/CHcd/P8eHZiM8BDBbvURr5y41E6y+ulgQk/PLQvo9RjC38MlUao FIYdOLqxtvkiDJqJHXa8Op0WEZfs6Miff7ujaY1J6CSxwaxBG9romk6+ZJw1+7dmGmMt0Di/gtc vHx9nPAFcN4mNCu369Qk5v4K1XlYthkYUcODhTnKZb5Xd1y7a34DeyqBUFy9XzYGTK6I8+sOqgD K5eriMS+8R7DhZ4K7O0QagajS0cwalEJl68RtAXcNeytN X-Received: by 2002:ac8:5d4f:0:b0:516:4f76:aead with SMTP id d75a77b69052e-516c5674961mr2490381cf.39.1779312872027; Wed, 20 May 2026 14:34:32 -0700 (PDT) X-Received: by 2002:ac8:5d4f:0:b0:516:4f76:aead with SMTP id d75a77b69052e-516c5674961mr2489821cf.39.1779312871413; Wed, 20 May 2026 14:34:31 -0700 (PDT) From: Peter Xu To: qemu-devel@nongnu.org Cc: Fabiano Rosas , Peter Xu Subject: [PULL 11/29] tests/qtest/migration: Use precopy_unix_common for ignore-shared test Date: Wed, 20 May 2026 17:33:39 -0400 Message-ID: <20260520213357.40646-12-peterx@redhat.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260520213357.40646-1-peterx@redhat.com> References: <20260520213357.40646-1-peterx@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=peterx@redhat.com; helo=us-smtp-delivery-124.mimecast.com 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, DKIMWL_WL_HIGH=-0.445, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-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.29 Precedence: list List-Id: qemu development 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: 1779313076940158500 Content-Type: text/plain; charset="utf-8" From: Fabiano Rosas The ignore-shared test has the same code as the precopy_common test but inverting (probably incorrectly) the order of a few event waits. Change it to use the common code instead. Signed-off-by: Fabiano Rosas Reviewed-by: Peter Xu Link: https://lore.kernel.org/r/20260505160915.25558-6-farosas@suse.de Signed-off-by: Peter Xu --- tests/qtest/migration/misc-tests.c | 40 ++++++++---------------------- 1 file changed, 11 insertions(+), 29 deletions(-) diff --git a/tests/qtest/migration/misc-tests.c b/tests/qtest/migration/mis= c-tests.c index e114ac5972..8d1cd44183 100644 --- a/tests/qtest/migration/misc-tests.c +++ b/tests/qtest/migration/misc-tests.c @@ -90,40 +90,22 @@ static void test_analyze_script(char *name, MigrateComm= on *args) } #endif =20 -static void test_ignore_shared(char *name, MigrateCommon *args) +static void ignore_shared_assert_skipped(QTestState *from, QTestState *to, + void *data) { - g_autofree char *uri =3D g_strdup_printf("unix:%s/migsocket", tmpfs); - QTestState *from, *to; - - args->start.mem_type =3D MEM_TYPE_SHMEM; - args->start.caps[MIGRATION_CAPABILITY_X_IGNORE_SHARED] =3D true; - - if (migrate_start(&from, &to, uri, &args->start)) { - return; - } - - migrate_ensure_non_converge(from); - migrate_prepare_for_dirty_mem(from); - - /* Wait for the first serial output from the source */ - wait_for_serial("src_serial"); - - migrate_qmp(from, to, uri, NULL, "{}"); - - migrate_wait_for_dirty_mem(from, to); - - wait_for_stop(from, get_src()); - - qtest_qmp_eventwait(to, "RESUME"); - - wait_for_serial("dest_serial"); - wait_for_migration_complete(from); - /* Check whether shared RAM has been really skipped */ g_assert_cmpint( read_ram_property_int(from, "transferred"), <, 4 * 1024 * 1024); +} + +static void test_ignore_shared(char *name, MigrateCommon *args) +{ + args->live =3D true; + args->start.mem_type =3D MEM_TYPE_SHMEM; + args->start.caps[MIGRATION_CAPABILITY_X_IGNORE_SHARED] =3D true; + args->end_hook =3D ignore_shared_assert_skipped; =20 - migrate_end(from, to, true); + test_precopy_unix_common(args); } =20 static void do_test_validate_uuid(MigrateStart *args, bool should_fail) --=20 2.53.0 From nobody Sat May 30 17:43:30 2026 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1779313084; cv=none; d=zohomail.com; s=zohoarc; b=mXT4eHvrnGFk50IKht6y5yfxz2KUF2dZFMlu8rG6lruAOXWkWrrwfJAVO+Q62Hw0bS79mbal87IChHD4z14M9jfaTPD8IFkHjCtWdAxw3ZL3tNRD0OwUFzq+OJqWN6HsgbS/6VpGQ/As9vP6u2Fjs/auIUXXC3v5BF45EzxMUbc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779313084; 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=bQxVEIAkWR2vrOFpn3uiifZT3gsCoVVKIdJuUCwFfHc=; b=Qg1tTWTEOnyaQlt7IRAO/kE+9BW/Wvf0EpRgEyzx6NuISsxhm+t8e9Yz7iCe0yKL1pc+qvUNNi2djlzvHDi4c7vnSBsYxCJUPgukCc/5NUOa3GVmyyVRtXVxvmzsywtIlnKB+M02gE1riXhsCwIvxQ0C2lTBy+Eypm6Az6QonzE= 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=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1779313084737154.07924170488582; Wed, 20 May 2026 14:38:04 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wPoYp-0001DU-O7; Wed, 20 May 2026 17:34:39 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wPoYo-00019D-Lj for qemu-devel@nongnu.org; Wed, 20 May 2026 17:34:38 -0400 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 1wPoYm-0007Fp-RC for qemu-devel@nongnu.org; Wed, 20 May 2026 17:34:38 -0400 Received: from mail-qv1-f70.google.com (mail-qv1-f70.google.com [209.85.219.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-117--DvtWjUBOj-RySnNmp5_KQ-1; Wed, 20 May 2026 17:34:34 -0400 Received: by mail-qv1-f70.google.com with SMTP id 6a1803df08f44-8cc616cd846so18246746d6.2 for ; Wed, 20 May 2026 14:34:34 -0700 (PDT) Received: from x1.com ([142.189.10.167]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-8ca360b362fsm133062716d6.22.2026.05.20.14.34.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 May 2026 14:34:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1779312876; 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=bQxVEIAkWR2vrOFpn3uiifZT3gsCoVVKIdJuUCwFfHc=; b=HqP68PnRb9fbIRmjEQlj5jdGlJHnVtJOejT2A8qHdJLE5GTl1gXp4mT7UpDxChC1Ljb6N7 ocJi27zjzfIUujr6tBsPDQ8r8tp2AgQd8VEDQUBmt+K9Xtj9npab0p/VrfQxqpi2bKTWP8 /HxrqEX0tbwF9F9m0eNC500OayI/waY= X-MC-Unique: -DvtWjUBOj-RySnNmp5_KQ-1 X-Mimecast-MFC-AGG-ID: -DvtWjUBOj-RySnNmp5_KQ_1779312874 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1779312874; x=1779917674; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=bQxVEIAkWR2vrOFpn3uiifZT3gsCoVVKIdJuUCwFfHc=; b=AO61mmvfvR79/ElPY4rIY6nxfX+d7rnZG3Td/la7OiwTMrEV3tN7VtWBrz5e3XRfhc ipHUXS1QqXQi0e1gY2tQuZ8/wGT81sv+GdF8l3E2BqP8pUw43DcovCNYOVMGljouH84m PSvfQVEuPDjjYTzXcreOfPzhaY9HSLw2xyXf94M/EtqFOt58l3jm+Fv/HGhkQupqrb0n LvXfSIuHbz9efaqZCFvZjPfvxoUrVP30IZ+KvypZguQKzJFrCopFrw5B1+5DysoGicPL o8+ASm7d0GNVMCWvW4/1EqqAqpZUnpEsgIbbUZvftXPst8OiuHIZdFO5+RQMaLcRdRSW TSuw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779312874; x=1779917674; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=bQxVEIAkWR2vrOFpn3uiifZT3gsCoVVKIdJuUCwFfHc=; b=mqKPYVnWiMF1MQd/77bjMCBJvCTzTuDeQW0DD/IU/EGQJuKNmFNFkw1y4k0x9b94Xq 14yZrsfOa8soWTfn0X0E2UbetQ7kmu+g6x/7EFI0RrdmQ68iI82F3b9PH1lW9diIcJR7 1Nm16Y4N/1SxY9fhmj2ighqCRQJo/wm0dU+4SYzz9UHNEYfPfOCfQZkWlLtN4sKb6YG7 OdswSiRUVuOak2m+e8uw5uHMshEoUxG+ELUZWu8ST1OafGq0BVRjJdSBnPvATdj1PsSL TekVLU5+2X+/Q7tu2ooOLwcp0QuapSoqzJtySpKDpmE9pBNJTCHGD3k1ebvA0jW1UK+9 oteQ== X-Gm-Message-State: AOJu0YyiH59MAzQdJWMqk5KKtDkaOsvMKUtb8ZFPou4n88iPiC814YV0 nX6fu9yaSEqxWOZZEj3VzA6wn1Alh5T00ATA1IsMj6+YQfIL45quNApzW/PJsl2/9+GbtcBcPTi vW5Hwj1YBRES+X7A+pX19/aMPc63AHRisZYf8Yyofe+Yf2biGcn/NOqMznmE3Lf3fWcqQA7AiLc bvoXPQLetQM1eHzi1AmJHdLFpC0m3qLTQ2utMfYA== X-Gm-Gg: Acq92OFeF++OZNKer1nRVczHQenlCADzOnZr94Jm3eJFqnT1qoe9SGa7rRyN+K1exzk 9IPD3/6nMo+77PKprlg9xNfPzKAmlWAcnSduEwIEZ/iDLK+HIGCV8dsowOD7oVlCNfwlCG8DY/R pYiEVjLE48uA10dr1zpwRMUg09YA0E7E2cvE0kP2hLdncUOxUHNcqL6ouWtlWNl7ZwVD9X8cqON jxnO7qcalCoAYAM5LlC04XVhL0BFLXz6J+PkjAXv2O0qI8Pa1LUXbz6TEfeRnXrk4o2I9SklWFt H5EVYAjnooMvewb7VewS0GbDfdJ8PcYs0orV4s47VrJmmm9q+hB3Fe2d/IEySfHWSKTL9djEr9f W1YGK98/evTmjirCZP/9vUgq4i0kgJcdfnrO5FNCHr9pO X-Received: by 2002:ad4:5b85:0:b0:8cc:2a92:48e4 with SMTP id 6a1803df08f44-8cc6e67b589mr3919946d6.32.1779312873884; Wed, 20 May 2026 14:34:33 -0700 (PDT) X-Received: by 2002:ad4:5b85:0:b0:8cc:2a92:48e4 with SMTP id 6a1803df08f44-8cc6e67b589mr3919366d6.32.1779312873322; Wed, 20 May 2026 14:34:33 -0700 (PDT) From: Peter Xu To: qemu-devel@nongnu.org Cc: Fabiano Rosas , Peter Xu Subject: [PULL 12/29] tests/qtest/migration: Use a default TCP URI for precopy Date: Wed, 20 May 2026 17:33:40 -0400 Message-ID: <20260520213357.40646-13-peterx@redhat.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260520213357.40646-1-peterx@redhat.com> References: <20260520213357.40646-1-peterx@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=lists1p.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: -24 X-Spam_score: -2.5 X-Spam_bar: -- X-Spam_report: (-2.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.445, 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_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-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.29 Precedence: list List-Id: qemu development 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: 1779313085042158500 Content-Type: text/plain; charset="utf-8" From: Fabiano Rosas Using a localhost TCP URI for testing is quite common. Set it as a default for precopy tests that don't provide an URI. Signed-off-by: Fabiano Rosas Reviewed-by: Peter Xu Link: https://lore.kernel.org/r/20260505160915.25558-7-farosas@suse.de Signed-off-by: Peter Xu --- tests/qtest/migration/framework.c | 4 ++++ tests/qtest/migration/precopy-tests.c | 3 --- tests/qtest/migration/tls-tests.c | 9 --------- 3 files changed, 4 insertions(+), 12 deletions(-) diff --git a/tests/qtest/migration/framework.c b/tests/qtest/migration/fram= ework.c index 1d13b897a9..566437c17f 100644 --- a/tests/qtest/migration/framework.c +++ b/tests/qtest/migration/framework.c @@ -834,6 +834,10 @@ int test_precopy_common(MigrateCommon *args) void *data_hook =3D NULL; QObject *channels =3D NULL; =20 + if (!args->listen_uri) { + args->listen_uri =3D "tcp:127.0.0.1:0"; + } + if (migrate_start(&from, &to, args->listen_uri, &args->start)) { return -1; } diff --git a/tests/qtest/migration/precopy-tests.c b/tests/qtest/migration/= precopy-tests.c index 849aef3ed6..377597bc29 100644 --- a/tests/qtest/migration/precopy-tests.c +++ b/tests/qtest/migration/precopy-tests.c @@ -180,14 +180,11 @@ static void test_precopy_rdma_plain_ipv6(char *name, = MigrateCommon *args) =20 static void test_precopy_tcp_plain(char *name, MigrateCommon *args) { - args->listen_uri =3D "tcp:127.0.0.1:0"; - test_precopy_common(args); } =20 static void test_precopy_tcp_switchover_ack(char *name, MigrateCommon *arg= s) { - args->listen_uri =3D "tcp:127.0.0.1:0"; /* * Source VM must be running in order to consider the switchover ACK * when deciding to do switchover or not. diff --git a/tests/qtest/migration/tls-tests.c b/tests/qtest/migration/tls-= tests.c index 0677ca661e..4a3c404349 100644 --- a/tests/qtest/migration/tls-tests.c +++ b/tests/qtest/migration/tls-tests.c @@ -459,7 +459,6 @@ static void test_precopy_unix_tls_x509_override_host(ch= ar *name, =20 static void test_precopy_tcp_tls_psk_match(char *name, MigrateCommon *args) { - args->listen_uri =3D "tcp:127.0.0.1:0"; args->start_hook =3D migrate_hook_start_tls_psk_match; args->end_hook =3D migrate_hook_end_tls_psk; =20 @@ -468,7 +467,6 @@ static void test_precopy_tcp_tls_psk_match(char *name, = MigrateCommon *args) =20 static void test_precopy_tcp_tls_psk_mismatch(char *name, MigrateCommon *a= rgs) { - args->listen_uri =3D "tcp:127.0.0.1:0"; args->start_hook =3D migrate_hook_start_tls_psk_mismatch; args->end_hook =3D migrate_hook_end_tls_psk; args->result =3D MIG_TEST_FAIL; @@ -488,7 +486,6 @@ static void *migrate_hook_start_no_tls(QTestState *from= , QTestState *to) =20 static void test_precopy_tcp_no_tls(char *name, MigrateCommon *args) { - args->listen_uri =3D "tcp:127.0.0.1:0"; args->start_hook =3D migrate_hook_start_no_tls; /* the no_tls start hook requires no cleanup actions */ args->end_hook =3D NULL; @@ -529,7 +526,6 @@ static void test_precopy_tcp_tls_no_hostname(char *name= , MigrateCommon *args) static void test_precopy_tcp_tls_x509_default_host(char *name, MigrateCommon *args) { - args->listen_uri =3D "tcp:127.0.0.1:0"; args->start_hook =3D migrate_hook_start_tls_x509_default_host; args->end_hook =3D migrate_hook_end_tls_x509; =20 @@ -539,7 +535,6 @@ static void test_precopy_tcp_tls_x509_default_host(char= *name, static void test_precopy_tcp_tls_x509_override_host(char *name, MigrateCommon *args) { - args->listen_uri =3D "tcp:127.0.0.1:0"; args->start_hook =3D migrate_hook_start_tls_x509_override_host; args->end_hook =3D migrate_hook_end_tls_x509; =20 @@ -563,7 +558,6 @@ static void test_precopy_tcp_tls_x509_mismatch_host(cha= r *name, static void test_precopy_tcp_tls_x509_friendly_client(char *name, MigrateCommon *args) { - args->listen_uri =3D "tcp:127.0.0.1:0"; args->start_hook =3D migrate_hook_start_tls_x509_friendly_client; args->end_hook =3D migrate_hook_end_tls_x509; =20 @@ -573,7 +567,6 @@ static void test_precopy_tcp_tls_x509_friendly_client(c= har *name, static void test_precopy_tcp_tls_x509_hostile_client(char *name, MigrateCommon *args) { - args->listen_uri =3D "tcp:127.0.0.1:0"; args->start_hook =3D migrate_hook_start_tls_x509_hostile_client; args->end_hook =3D migrate_hook_end_tls_x509; args->result =3D MIG_TEST_FAIL; @@ -586,7 +579,6 @@ static void test_precopy_tcp_tls_x509_hostile_client(ch= ar *name, static void test_precopy_tcp_tls_x509_allow_anon_client(char *name, MigrateCommon *arg= s) { - args->listen_uri =3D "tcp:127.0.0.1:0"; args->start_hook =3D migrate_hook_start_tls_x509_allow_anon_client; args->end_hook =3D migrate_hook_end_tls_x509; =20 @@ -596,7 +588,6 @@ static void test_precopy_tcp_tls_x509_allow_anon_client= (char *name, static void test_precopy_tcp_tls_x509_reject_anon_client(char *name, MigrateCommon *ar= gs) { - args->listen_uri =3D "tcp:127.0.0.1:0"; args->start_hook =3D migrate_hook_start_tls_x509_reject_anon_client; args->end_hook =3D migrate_hook_end_tls_x509; args->result =3D MIG_TEST_FAIL; --=20 2.53.0 From nobody Sat May 30 17:43:30 2026 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1779313011; cv=none; d=zohomail.com; s=zohoarc; b=bjJ0ycvjnEG1wD6ijF+FNhPbXFk0cP6hPfmcRTqZuVnhZ5nDDV8dRJGpPVTwf8P2ZRu04DGgzLY9MKWBGT938HFjgMJywVhUuhm4SJuWFdrj6cy3FCJOSFECjU9sxDvtE/GDC/mvPPtVJJo8QX4oghRRGd/4CiwQgo+0ToaKB28= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779313011; 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=dOHplUY4YxSEbwAdUtwP8OIXWY9Sz4byjeqRgy2OfZQ=; b=ITfvSsUPKuHIQyQ6D2SO5BAwqyUgTO6N5hNe1PoLF160OnHyZs7gZiyPSO2y7T0giMW1b21EhKW4diCOAPuJJexn23V87A9j2GRxx4NmIgrGPYuSTPyEJGBP5VHJ3iE6vr0FvBBygktUHwYDvF2wRoReHm/YmR3vUFPP9ad2Cx8= 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=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1779313011445731.2411209770686; Wed, 20 May 2026 14:36:51 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wPoYt-0001Gx-FC; Wed, 20 May 2026 17:34:43 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wPoYs-0001GE-1z for qemu-devel@nongnu.org; Wed, 20 May 2026 17:34:42 -0400 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 1wPoYp-0007HO-Ej for qemu-devel@nongnu.org; Wed, 20 May 2026 17:34:41 -0400 Received: from mail-qv1-f69.google.com (mail-qv1-f69.google.com [209.85.219.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-669-T_0iM7kEOau7i0kwCDQsgA-1; Wed, 20 May 2026 17:34:37 -0400 Received: by mail-qv1-f69.google.com with SMTP id 6a1803df08f44-8cc0e037fe5so24588636d6.0 for ; Wed, 20 May 2026 14:34:37 -0700 (PDT) Received: from x1.com ([142.189.10.167]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-8ca360b362fsm133062716d6.22.2026.05.20.14.34.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 May 2026 14:34:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1779312878; 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=dOHplUY4YxSEbwAdUtwP8OIXWY9Sz4byjeqRgy2OfZQ=; b=TKP9X5k81Dl/Phfze5JugMaSAQGUp/ZaqGi99UTa13Q6jm/++tHxb8hFviPDSML1bAH35P Oqo3b1CWtbBVxTc3HiPngjso0R+hb5D0dAmJrkPpocr8FOa1/+C/9G9MH9MASRUO0FfAYT /gEV9Vah+akp7kO/yivGrfaahDrVehI= X-MC-Unique: T_0iM7kEOau7i0kwCDQsgA-1 X-Mimecast-MFC-AGG-ID: T_0iM7kEOau7i0kwCDQsgA_1779312877 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1779312876; x=1779917676; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=dOHplUY4YxSEbwAdUtwP8OIXWY9Sz4byjeqRgy2OfZQ=; b=MMI3DDBkIBaFFzF6Rz7uT7M4eWPG5eQHVg9BLJ7KT9dhn3o0q8dIEu9mKSDJzo2nxX z4iomk8T15fx/bTLVDDUXAeRFXbYsUm2Zi9IFcGusHxuBDESfzNj3s7Vy4a6xZHJ78dN XzAp5fBXDWTfFny93uuG47QaxWUVOg2YGMwfPZ+al9qnSgbmm3pWW/QiQecvdwSwlGbt Tp8nLmuDLOv48lA8uS3E7Ng/QuaoSUoyWv5duojdO+pf3poxB1Ynb3OIEVPL4mzJEAub /GEjPWGy1veq8W4KPKwjhpXPGDQIV0LrSAvP+nh9eUxf6s8aFzi+pQn9GEM25trNjWBm +kyw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779312876; x=1779917676; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=dOHplUY4YxSEbwAdUtwP8OIXWY9Sz4byjeqRgy2OfZQ=; b=K3sdMZRgPW0rfIfzIP0Mt5KIRRxmHaSy1ClE8tLSkOPO6a6nkmm6Y1PhDfh8NWMBZx EhkEVfAdxLp4sNEtZk45+gWmtduVr7vanGmmZtGRj/mi4ev6+I3b0HfvoP5vk9HPlf67 Yc6bzBS5LAcIpgJl26XBLkC/nnOTWnzbx80LgcUTl4p+kmImEaUg9hsMkyRpVMtt+fhs EJk0JJ+/IygMVxqviI5cHJq7Hu9mds84SLBXrzOPq99EBj7LQe6nuf15CkFqOs9ayjHI /VzAAuPTpYRvYzn83P4MTuwJ4Y1pscenVQrmMcNhoz0ysTRQPmKdj0TI6dPFA0tHpjRk 2UBw== X-Gm-Message-State: AOJu0YyPaZgeyNqplEuPWYJCCkmaeHF4ChGatTBKib5B/zbKt1U/Puyy a0ISR+0DvgvckxJCeH8EMQU59k7AvyFALhGXMrmBw8DwJdgQUixvXsuRiOmOKlZ9zcAamGgoIpy J4PI7yNuuDh37gtQfAGSDL49WbDtVoWmXzTBrPTmqjwzy+UmUqFi3JVYXksa5+7zmUWVajQAxGX l9x4I2l3h0hcFDd/5aSObZqaSNE0vQ+KMXMANszA== X-Gm-Gg: Acq92OG9C4P3j0wkwrYMh4mgOrjesdtJDrOVCCAhGzXe7WISb3lbKIhHCf7/833gNqu GEmwPTtOyF8ew9fKb0OAJl0ZeBphJD9+T8zHTAd5h/rDxDZKjaUtfaIPGSbxFx91ZLaIaUFeqFT 3Eaad2ZuU0NGstrsUdhukCwOjWty1Uif92rIy62hFD8lkar8z8tRaEVI95PmYpjS+ZWDDrGp7/p YE23bgRXDRjBxYTyUHd4YkaJcK6JxuqIisWba0TlWSf9XAWVXn84uk4fx1UkrAJw1B05G+9zd0p HA+7RoVBzxgmXX0WtdvSDAaavGp2QZvFWk1K/xvM0oTiqmUVtSNA3f9YYS9NgT9LcJUuhei9W/y sbrHH/lo86/q8zhR9nbt3HL/iHhC/xyp+lpB743scbTqHJAUMjiJUPAw= X-Received: by 2002:a05:6214:568e:b0:8be:3c37:5e6a with SMTP id 6a1803df08f44-8cc6e327f92mr5364996d6.21.1779312876030; Wed, 20 May 2026 14:34:36 -0700 (PDT) X-Received: by 2002:a05:6214:568e:b0:8be:3c37:5e6a with SMTP id 6a1803df08f44-8cc6e327f92mr5363966d6.21.1779312875327; Wed, 20 May 2026 14:34:35 -0700 (PDT) From: Peter Xu To: qemu-devel@nongnu.org Cc: Fabiano Rosas , Peter Xu , Lukas Straub Subject: [PULL 13/29] tests/qtest/migration: Defer by default in precopy_common Date: Wed, 20 May 2026 17:33:41 -0400 Message-ID: <20260520213357.40646-14-peterx@redhat.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260520213357.40646-1-peterx@redhat.com> References: <20260520213357.40646-1-peterx@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=lists1p.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: -24 X-Spam_score: -2.5 X-Spam_bar: -- X-Spam_report: (-2.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.445, 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_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-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.29 Precedence: list List-Id: qemu development 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: 1779313012643158500 Content-Type: text/plain; charset="utf-8" From: Fabiano Rosas As a design direction, we're restricting the usage of the command line option -incoming . The alternative -incoming defer should be used instead. Make all precopy_common tests defer by default. Using the defer option means that QEMU will not start the incoming migration automatically. Add the incoming QMP command. With the added command, the invocation at the multifd_common hook becomes redundant, so remove it. Signed-off-by: Fabiano Rosas Reviewed-by: Peter Xu Reviewed-by: Lukas Straub Tested-by: Lukas Straub Link: https://lore.kernel.org/r/20260505160915.25558-8-farosas@suse.de Signed-off-by: Peter Xu --- tests/qtest/migration/colo-tests.c | 12 ++++-------- tests/qtest/migration/compression-tests.c | 6 ------ tests/qtest/migration/framework.c | 15 ++++++++------- tests/qtest/migration/precopy-tests.c | 11 +---------- tests/qtest/migration/tls-tests.c | 15 +-------------- 5 files changed, 14 insertions(+), 45 deletions(-) diff --git a/tests/qtest/migration/colo-tests.c b/tests/qtest/migration/col= o-tests.c index ef880f5114..4add4a014b 100644 --- a/tests/qtest/migration/colo-tests.c +++ b/tests/qtest/migration/colo-tests.c @@ -45,7 +45,7 @@ static int test_colo_common(MigrateCommon *args, args->start.caps[MIGRATION_CAPABILITY_RETURN_PATH] =3D true; args->start.caps[MIGRATION_CAPABILITY_X_COLO] =3D true; =20 - if (migrate_start(&from, &to, args->listen_uri, &args->start)) { + if (migrate_start(&from, &to, "defer", &args->start)) { return -1; } =20 @@ -55,6 +55,8 @@ static int test_colo_common(MigrateCommon *args, data_hook =3D args->start_hook(from, to); } =20 + migrate_incoming_qmp(to, args->listen_uri, NULL, "{}"); + migrate_ensure_converge(from); wait_for_serial("src_serial"); =20 @@ -107,17 +109,11 @@ static void test_colo_plain_common(MigrateCommon *arg= s, test_colo_common(args, failover_during_checkpoint, primary_failover); } =20 -static void *hook_start_multifd(QTestState *from, QTestState *to) -{ - return migrate_hook_start_precopy_tcp_multifd_common(from, to, "none"); -} - static void test_colo_multifd_common(MigrateCommon *args, bool failover_during_checkpoint, bool primary_failover) { - args->listen_uri =3D "defer"; - args->start_hook =3D hook_start_multifd; + args->listen_uri =3D "tcp:127.0.0.1:0"; args->start.caps[MIGRATION_CAPABILITY_MULTIFD] =3D true; test_colo_common(args, failover_during_checkpoint, primary_failover); } diff --git a/tests/qtest/migration/compression-tests.c b/tests/qtest/migrat= ion/compression-tests.c index 7f2856b7f8..134bf44db6 100644 --- a/tests/qtest/migration/compression-tests.c +++ b/tests/qtest/migration/compression-tests.c @@ -33,7 +33,6 @@ migrate_hook_start_precopy_tcp_multifd_zstd(QTestState *f= rom, =20 static void test_multifd_tcp_zstd(char *name, MigrateCommon *args) { - args->listen_uri =3D "defer"; args->start_hook =3D migrate_hook_start_precopy_tcp_multifd_zstd; =20 args->start.caps[MIGRATION_CAPABILITY_MULTIFD] =3D true; @@ -43,7 +42,6 @@ static void test_multifd_tcp_zstd(char *name, MigrateComm= on *args) =20 static void test_multifd_postcopy_tcp_zstd(char *name, MigrateCommon *args) { - args->listen_uri =3D "defer"; args->start_hook =3D migrate_hook_start_precopy_tcp_multifd_zstd, =20 args->start.caps[MIGRATION_CAPABILITY_MULTIFD] =3D true; @@ -66,7 +64,6 @@ migrate_hook_start_precopy_tcp_multifd_qatzip(QTestState = *from, =20 static void test_multifd_tcp_qatzip(char *name, MigrateCommon *args) { - args->listen_uri =3D "defer"; args->start_hook =3D migrate_hook_start_precopy_tcp_multifd_qatzip; =20 args->start.caps[MIGRATION_CAPABILITY_MULTIFD] =3D true; @@ -85,7 +82,6 @@ migrate_hook_start_precopy_tcp_multifd_qpl(QTestState *fr= om, =20 static void test_multifd_tcp_qpl(char *name, MigrateCommon *args) { - args->listen_uri =3D "defer"; args->start_hook =3D migrate_hook_start_precopy_tcp_multifd_qpl; =20 args->start.caps[MIGRATION_CAPABILITY_MULTIFD] =3D true; @@ -104,7 +100,6 @@ migrate_hook_start_precopy_tcp_multifd_uadk(QTestState = *from, =20 static void test_multifd_tcp_uadk(char *name, MigrateCommon *args) { - args->listen_uri =3D "defer"; args->start_hook =3D migrate_hook_start_precopy_tcp_multifd_uadk; =20 args->start.caps[MIGRATION_CAPABILITY_MULTIFD] =3D true; @@ -152,7 +147,6 @@ migrate_hook_start_precopy_tcp_multifd_zlib(QTestState = *from, =20 static void test_multifd_tcp_zlib(char *name, MigrateCommon *args) { - args->listen_uri =3D "defer"; args->start_hook =3D migrate_hook_start_precopy_tcp_multifd_zlib; =20 args->start.caps[MIGRATION_CAPABILITY_MULTIFD] =3D true; diff --git a/tests/qtest/migration/framework.c b/tests/qtest/migration/fram= ework.c index 566437c17f..5da39eac76 100644 --- a/tests/qtest/migration/framework.c +++ b/tests/qtest/migration/framework.c @@ -834,11 +834,15 @@ int test_precopy_common(MigrateCommon *args) void *data_hook =3D NULL; QObject *channels =3D NULL; =20 - if (!args->listen_uri) { + assert(!args->connect_uri); + + if (args->listen_uri) { + args->connect_uri =3D args->listen_uri; + } else { args->listen_uri =3D "tcp:127.0.0.1:0"; } =20 - if (migrate_start(&from, &to, args->listen_uri, &args->start)) { + if (migrate_start(&from, &to, "defer", &args->start)) { return -1; } =20 @@ -846,6 +850,8 @@ int test_precopy_common(MigrateCommon *args) data_hook =3D args->start_hook(from, to); } =20 + migrate_incoming_qmp(to, args->listen_uri, NULL, "{}"); + /* Wait for the first serial output from the source */ if (args->result =3D=3D MIG_TEST_SUCCEED) { wait_for_serial("src_serial"); @@ -943,7 +949,6 @@ void test_precopy_unix_common(MigrateCommon *args) g_autofree char *uri =3D g_strdup_printf("unix:%s/migsocket", tmpfs); =20 args->listen_uri =3D uri; - args->connect_uri =3D uri; test_precopy_common(args); } =20 @@ -1064,10 +1069,6 @@ void *migrate_hook_start_precopy_tcp_multifd_common(= QTestState *from, { migrate_set_parameter_str(from, "multifd-compression", method); migrate_set_parameter_str(to, "multifd-compression", method); - - /* Start incoming migration from the 1st socket */ - migrate_incoming_qmp(to, "tcp:127.0.0.1:0", NULL, "{}"); - return NULL; } =20 diff --git a/tests/qtest/migration/precopy-tests.c b/tests/qtest/migration/= precopy-tests.c index 377597bc29..b73b73a807 100644 --- a/tests/qtest/migration/precopy-tests.c +++ b/tests/qtest/migration/precopy-tests.c @@ -162,7 +162,6 @@ static void __test_precopy_rdma_plain(MigrateCommon *ar= gs, bool ipv6) g_autofree char *uri =3D g_strdup_printf("rdma:%s:29200", buffer); =20 args->listen_uri =3D uri; - args->connect_uri =3D uri; =20 test_precopy_common(args); } @@ -214,9 +213,6 @@ static void *migrate_hook_start_fd(QTestState *from, " 'arguments': { 'fdname': 'fd-mig' }}"); close(pair[0]); =20 - /* Start incoming migration from the 1st socket */ - migrate_incoming_qmp(to, "fd:fd-mig", NULL, "{}"); - /* Send the 2nd socket to the target */ qtest_qmp_fds_assert_success(from, &pair[1], 1, "{ 'execute': 'getfd'," @@ -257,8 +253,7 @@ static void migrate_hook_end_fd(QTestState *from, =20 static void test_precopy_fd_socket(char *name, MigrateCommon *args) { - args->listen_uri =3D "defer"; - args->connect_uri =3D "fd:fd-mig"; + args->listen_uri =3D "fd:fd-mig"; args->start_hook =3D migrate_hook_start_fd; args->end_hook =3D migrate_hook_end_fd; =20 @@ -354,7 +349,6 @@ migrate_hook_start_precopy_tcp_multifd_no_zero_page(QTe= stState *from, =20 static void test_multifd_tcp_uri_none(char *name, MigrateCommon *args) { - args->listen_uri =3D "defer"; args->start_hook =3D migrate_hook_start_precopy_tcp_multifd; /* * Multifd is more complicated than most of the features, it @@ -370,7 +364,6 @@ static void test_multifd_tcp_uri_none(char *name, Migra= teCommon *args) =20 static void test_multifd_tcp_zero_page_legacy(char *name, MigrateCommon *a= rgs) { - args->listen_uri =3D "defer"; args->start_hook =3D migrate_hook_start_precopy_tcp_multifd_zero_page_= legacy; /* * Multifd is more complicated than most of the features, it @@ -386,7 +379,6 @@ static void test_multifd_tcp_zero_page_legacy(char *nam= e, MigrateCommon *args) =20 static void test_multifd_tcp_no_zero_page(char *name, MigrateCommon *args) { - args->listen_uri =3D "defer"; args->start_hook =3D migrate_hook_start_precopy_tcp_multifd_no_zero_pa= ge; /* * Multifd is more complicated than most of the features, it @@ -402,7 +394,6 @@ static void test_multifd_tcp_no_zero_page(char *name, M= igrateCommon *args) =20 static void test_multifd_tcp_channels_none(char *name, MigrateCommon *args) { - args->listen_uri =3D "defer"; args->start_hook =3D migrate_hook_start_precopy_tcp_multifd; args->live =3D true; args->connect_channels =3D ("[ { 'channel-type': 'main'," diff --git a/tests/qtest/migration/tls-tests.c b/tests/qtest/migration/tls-= tests.c index 4a3c404349..275d0b84d4 100644 --- a/tests/qtest/migration/tls-tests.c +++ b/tests/qtest/migration/tls-tests.c @@ -436,8 +436,7 @@ static void test_precopy_unix_tls_x509_default_host(cha= r *name, { g_autofree char *uri =3D g_strdup_printf("unix:%s/migsocket", tmpfs); =20 - args->connect_uri =3D uri; - args->listen_uri =3D "defer"; + args->listen_uri =3D uri; args->start_hook =3D migrate_hook_start_tls_x509_default_host; args->end_hook =3D migrate_hook_end_tls_x509; args->result =3D MIG_TEST_FAIL; @@ -511,8 +510,6 @@ migrate_hook_start_tls_x509_no_host(QTestState *from, Q= TestState *to) =20 static void test_precopy_tcp_tls_no_hostname(char *name, MigrateCommon *ar= gs) { - args->listen_uri =3D "defer"; - args->connect_uri =3D "tcp:127.0.0.1:0"; args->start_hook =3D migrate_hook_start_tls_x509_no_host; args->end_hook =3D migrate_hook_end_tls_x509; args->result =3D MIG_TEST_FAIL; @@ -544,8 +541,6 @@ static void test_precopy_tcp_tls_x509_override_host(cha= r *name, static void test_precopy_tcp_tls_x509_mismatch_host(char *name, MigrateCommon *args) { - args->listen_uri =3D "defer"; - args->connect_uri =3D "tcp:127.0.0.1:0"; args->start_hook =3D migrate_hook_start_tls_x509_mismatch_host; args->end_hook =3D migrate_hook_end_tls_x509; args->result =3D MIG_TEST_FAIL; @@ -658,7 +653,6 @@ migrate_hook_start_multifd_tls_x509_reject_anon_client(= QTestState *from, =20 static void test_multifd_tcp_tls_psk_match(char *name, MigrateCommon *args) { - args->listen_uri =3D "defer"; args->start_hook =3D migrate_hook_start_multifd_tcp_tls_psk_match; args->end_hook =3D migrate_hook_end_tls_psk; =20 @@ -669,7 +663,6 @@ static void test_multifd_tcp_tls_psk_match(char *name, = MigrateCommon *args) =20 static void test_multifd_tcp_tls_psk_mismatch(char *name, MigrateCommon *a= rgs) { - args->listen_uri =3D "defer"; args->start_hook =3D migrate_hook_start_multifd_tcp_tls_psk_mismatch; args->end_hook =3D migrate_hook_end_tls_psk; args->result =3D MIG_TEST_FAIL; @@ -683,7 +676,6 @@ static void test_multifd_tcp_tls_psk_mismatch(char *nam= e, MigrateCommon *args) static void test_multifd_postcopy_tcp_tls_psk_match(char *name, MigrateCommon *args) { - args->listen_uri =3D "defer"; args->start_hook =3D migrate_hook_start_multifd_tcp_tls_psk_match; args->end_hook =3D migrate_hook_end_tls_psk; =20 @@ -697,7 +689,6 @@ static void test_multifd_postcopy_tcp_tls_psk_match(cha= r *name, static void test_multifd_tcp_tls_x509_default_host(char *name, MigrateCommon *args) { - args->listen_uri =3D "defer"; args->start_hook =3D migrate_hook_start_multifd_tls_x509_default_host; args->end_hook =3D migrate_hook_end_tls_x509; =20 @@ -709,7 +700,6 @@ static void test_multifd_tcp_tls_x509_default_host(char= *name, static void test_multifd_tcp_tls_x509_override_host(char *name, MigrateCommon *args) { - args->listen_uri =3D "defer"; args->start_hook =3D migrate_hook_start_multifd_tls_x509_override_host; args->end_hook =3D migrate_hook_end_tls_x509; =20 @@ -734,7 +724,6 @@ static void test_multifd_tcp_tls_x509_mismatch_host(cha= r *name, * to load migration state, and thus just aborts the migration * without exiting. */ - args->listen_uri =3D "defer"; args->start_hook =3D migrate_hook_start_multifd_tls_x509_mismatch_host; args->end_hook =3D migrate_hook_end_tls_x509; args->result =3D MIG_TEST_FAIL; @@ -748,7 +737,6 @@ static void test_multifd_tcp_tls_x509_mismatch_host(cha= r *name, static void test_multifd_tcp_tls_x509_allow_anon_client(char *name, MigrateCommon *arg= s) { - args->listen_uri =3D "defer"; args->start_hook =3D migrate_hook_start_multifd_tls_x509_allow_anon_cl= ient; args->end_hook =3D migrate_hook_end_tls_x509; =20 @@ -760,7 +748,6 @@ static void test_multifd_tcp_tls_x509_allow_anon_client= (char *name, static void test_multifd_tcp_tls_x509_reject_anon_client(char *name, MigrateCommon *ar= gs) { - args->listen_uri =3D "defer"; args->start_hook =3D migrate_hook_start_multifd_tls_x509_reject_anon_c= lient; args->end_hook =3D migrate_hook_end_tls_x509; args->result =3D MIG_TEST_FAIL; --=20 2.53.0 From nobody Sat May 30 17:43:30 2026 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1779313058; cv=none; d=zohomail.com; s=zohoarc; b=nfxJ/gcbSVGHvoTfTjHzf3OwzOIyDmy1m4pUIAF4+8zacLGf2V5mlsCcj1+y+Usm2kNXqHyoSl+3QoxHUI4K+3jsmp3DqcEqH6K5HE9iOGtDW/9gPKtSvRsS1i7yMZfzo+Y1y1ze2abLxAY5Tql3KTTtIUu7lbo7OTEnoKHVvfY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779313058; 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=pCucB0SdvXatQHZlXd7SoYpVSV5RtFANyZbw09AWLW0=; b=UauF204a07EEn5s98LdFAyP3yseibXzx8IYh2QVswglrYVSuBBM5hNdo+4Qe3LAY9MC59rEP0zuSCwhevbGPBhQt0xpWXtkLbs15FY22bMmVih39WIbbwgbEkQmHwaUYUo+g6U4w7GuLiM/ChFnPOkhYOOXPrPhk5jK5ie+7Iao= 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=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 177931305893647.56854373552903; Wed, 20 May 2026 14:37:38 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wPoYu-0001H1-6e; Wed, 20 May 2026 17:34:44 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wPoYs-0001GO-9t for qemu-devel@nongnu.org; Wed, 20 May 2026 17:34:42 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wPoYq-0007Io-Jc for qemu-devel@nongnu.org; Wed, 20 May 2026 17:34:42 -0400 Received: from mail-qv1-f69.google.com (mail-qv1-f69.google.com [209.85.219.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-248-oZEkZ5dFN6ykNZKSryhaJQ-1; Wed, 20 May 2026 17:34:38 -0400 Received: by mail-qv1-f69.google.com with SMTP id 6a1803df08f44-8b7105dfb5eso166564456d6.2 for ; Wed, 20 May 2026 14:34:38 -0700 (PDT) Received: from x1.com ([142.189.10.167]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-8ca360b362fsm133062716d6.22.2026.05.20.14.34.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 May 2026 14:34:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1779312880; 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=pCucB0SdvXatQHZlXd7SoYpVSV5RtFANyZbw09AWLW0=; b=aTxowvNfEnzCy8BLth5swWBgeHLYYlUWeRrCB2R1hn5E5Vv3hBLU7GqSw+hJCmf8MY11HW 0YMXchjDqMUkYUab2njcudybpRg4VLPpcYAdp5tBRqPMn6kwl0fN1ExEWLUCfu7Kw7/Bnk psTLIW4dKNdPaB+QwlvMOi+yygP7TOY= X-MC-Unique: oZEkZ5dFN6ykNZKSryhaJQ-1 X-Mimecast-MFC-AGG-ID: oZEkZ5dFN6ykNZKSryhaJQ_1779312878 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1779312878; x=1779917678; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=pCucB0SdvXatQHZlXd7SoYpVSV5RtFANyZbw09AWLW0=; b=W00dT+SyecbZ1OGkeq3vcriMgydLCFNxAwgWC7L/1LcOkVowoGc9ePXKIE/p/OBvL3 12uu+xIV8ETkdxYBTcFdg9lfu8Hj0ai8OwBECYrqHDws5KZEUHgHCPQJ54onnN0SRid7 uXD39ogLMIjKG7L2DBDEI1IAo7wzvM6Ttxp0R1RAL43tQ2I3fMzt1JrsUcN5J2Flw7xL 9tKcLqE6n1NBmeEQyroHkWOR5lQwN5DLRaJnQPFN40fha8/F3N5/gz9p0rhFjumZKGDg TaP7HaPZK85UiLWa8MvMz3uZw7TS0BO+trgyvn5mMjHO6f2NSS3xbT+5x2DEbJfpYVoT COYQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779312878; x=1779917678; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=pCucB0SdvXatQHZlXd7SoYpVSV5RtFANyZbw09AWLW0=; b=i25e+c3ndRTpNnpPo7V/vBBAy35xU/CQ+vRF2i0mKrIEO20ccyJ8BjMOs2QGXQNSsk e115iQzJ8LX7Y8LQ5NhLXUPvYuxeZihEcc9+sGesPcyr17qk7gKwTwz8Qk2HmdpG5Thw 5flRsq5++Y8KdaNuxksvvkPbfndmAVBGO3QzKrCQEPNVwl2aycG3VdUykZ/0MUbbAk3U fySc1UQLSpmHqAgcVOI6Y3/YazJHpScvXVzQ0+HIZqslLCQ/XITI15NrkWRH4pNgK70n y4IC7Db6VXm/z8jgrxyrnL2eRxvQjCikbKpmWyWCPHmz8nZco8MRLwknS5F0TBdvbjJC QMqw== X-Gm-Message-State: AOJu0YyC03lo4va/jKxyJV0q8Jym3AInC6RidWPBHcPpuUl7MR8A6t+u SdnXV3OzOZq1nWRzMEqwzH6QCX/7wCxSoSPgoQNs+m3Pmz0NNZ4JnMiLdOcvxjfm9SwS9jTWU5b j8sMcXTvxhYwfVVl2+JlEiZVJNI3q158EoQSiJpB2QSw5iqSDxP4tBA8dTAeQHHu1ww0gr69VsN 6Jflwragc3M8lXl3AcJekIQzWi6cpB7is26o3MaA== X-Gm-Gg: Acq92OEmHkSxhlX5at0KlFpRv1XcK03rSgMxFBvdF6p7IO1fpNMSfbhNbCigLudrO0N 5lI9s9HBpyaxeeRGf0bK2Xj78OrSSNqpJNFH0goZZK4dSEqbsRWYxz08Ac2Uh7smEhIAYZ3Vsuv XNWgpdgL2kRrMffuzzfvAPGzocHGqFT5VZlHoMzJLwQhtIFYdHUiDr/4rSrh3/5DKxBkyX1x6L+ vqEshiCO8DQHmPySSHBcM5+DkUhOtBH/aeceOYr2GesqHjv+ceBxT5TRzHzdqIusBiGCTHS/Xud QJ+w4OvTGjTI02zC+aSiQbcKJH8nO8i2492hG/fVeHpC8grj/2geUs3QV5OevVmiK0kBiVcP5D+ 5Q2Q1cc/IstfoBUkISdbUROLfodsz0vUFueYY0OXOtfRQ X-Received: by 2002:a0c:f40f:0:b0:8bb:2e70:7a2b with SMTP id 6a1803df08f44-8cc6e308ef8mr4761606d6.15.1779312877528; Wed, 20 May 2026 14:34:37 -0700 (PDT) X-Received: by 2002:a0c:f40f:0:b0:8bb:2e70:7a2b with SMTP id 6a1803df08f44-8cc6e308ef8mr4760906d6.15.1779312876829; Wed, 20 May 2026 14:34:36 -0700 (PDT) From: Peter Xu To: qemu-devel@nongnu.org Cc: Fabiano Rosas , Peter Xu Subject: [PULL 14/29] tests/qtest/migration: Set compression method in compression-tests Date: Wed, 20 May 2026 17:33:42 -0400 Message-ID: <20260520213357.40646-15-peterx@redhat.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260520213357.40646-1-peterx@redhat.com> References: <20260520213357.40646-1-peterx@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=peterx@redhat.com; helo=us-smtp-delivery-124.mimecast.com 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, DKIMWL_WL_HIGH=-0.445, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-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.29 Precedence: list List-Id: qemu development 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: 1779313060916158500 Content-Type: text/plain; charset="utf-8" From: Fabiano Rosas Stop calling a common function to set the multifd compression method. The default method is "none", so the common function is not necessary for tests that don't set compression and will be removed. Signed-off-by: Fabiano Rosas Reviewed-by: Peter Xu Link: https://lore.kernel.org/r/20260505160915.25558-9-farosas@suse.de Signed-off-by: Peter Xu --- tests/qtest/migration/compression-tests.c | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/tests/qtest/migration/compression-tests.c b/tests/qtest/migrat= ion/compression-tests.c index 134bf44db6..848576054f 100644 --- a/tests/qtest/migration/compression-tests.c +++ b/tests/qtest/migration/compression-tests.c @@ -20,6 +20,13 @@ =20 static char *tmpfs; =20 +static void set_multifd_compression(QTestState *from, QTestState *to, + const char *method) +{ + migrate_set_parameter_str(from, "multifd-compression", method); + migrate_set_parameter_str(to, "multifd-compression", method); +} + #ifdef CONFIG_ZSTD static void * migrate_hook_start_precopy_tcp_multifd_zstd(QTestState *from, @@ -27,8 +34,9 @@ migrate_hook_start_precopy_tcp_multifd_zstd(QTestState *f= rom, { migrate_set_parameter_int(from, "multifd-zstd-level", 2); migrate_set_parameter_int(to, "multifd-zstd-level", 2); + set_multifd_compression(from, to, "zstd"); =20 - return migrate_hook_start_precopy_tcp_multifd_common(from, to, "zstd"); + return NULL; } =20 static void test_multifd_tcp_zstd(char *name, MigrateCommon *args) @@ -58,8 +66,9 @@ migrate_hook_start_precopy_tcp_multifd_qatzip(QTestState = *from, { migrate_set_parameter_int(from, "multifd-qatzip-level", 2); migrate_set_parameter_int(to, "multifd-qatzip-level", 2); + set_multifd_compression(from, to, "qatzip"); =20 - return migrate_hook_start_precopy_tcp_multifd_common(from, to, "qatzip= "); + return NULL; } =20 static void test_multifd_tcp_qatzip(char *name, MigrateCommon *args) @@ -77,7 +86,8 @@ static void * migrate_hook_start_precopy_tcp_multifd_qpl(QTestState *from, QTestState *to) { - return migrate_hook_start_precopy_tcp_multifd_common(from, to, "qpl"); + set_multifd_compression(from, to, "qpl"); + return NULL; } =20 static void test_multifd_tcp_qpl(char *name, MigrateCommon *args) @@ -95,7 +105,8 @@ static void * migrate_hook_start_precopy_tcp_multifd_uadk(QTestState *from, QTestState *to) { - return migrate_hook_start_precopy_tcp_multifd_common(from, to, "uadk"); + set_multifd_compression(from, to, "uadk"); + return NULL; } =20 static void test_multifd_tcp_uadk(char *name, MigrateCommon *args) @@ -141,8 +152,9 @@ migrate_hook_start_precopy_tcp_multifd_zlib(QTestState = *from, */ migrate_set_parameter_int(from, "multifd-zlib-level", 2); migrate_set_parameter_int(to, "multifd-zlib-level", 2); + set_multifd_compression(from, to, "zlib"); =20 - return migrate_hook_start_precopy_tcp_multifd_common(from, to, "zlib"); + return NULL; } =20 static void test_multifd_tcp_zlib(char *name, MigrateCommon *args) --=20 2.53.0 From nobody Sat May 30 17:43:30 2026 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1779312940; cv=none; d=zohomail.com; s=zohoarc; b=L9hSDoizicXTrYRzFFScxje6POqxkFWrjAn+S51Q6JnMs6elwEjEmxuh2lkEF+fpyM6+flg8XkU2S7+lVp4YAy19zpzCUsYo0P8BRaRozaBlqWyTLVc3sLMz1KGnhirMSSZzP98+L1sqW7p6SIQhgvyNmQTf9AQpg8Ggee2C6IU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779312940; 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=u0x3Ay0P3vXrHy1/36SANeDG2Z3InXKa4XI7f+qoQ2A=; b=ClUVuoBcLtuil1uCxOCYlt2hZD7ZIWuRefk4fBmJ8KAt3FtpUNiaKU6o4beQ2BmSPLhX1XhLs7uPr0SGjkf0Bor6+yUToA/i70s8kWpJID9JhdHTxP99wJPkrkOTDCE04WC4Rd3cHU9xSE6iGubOKUo77iHag/vqFxvSNU4P0A4= 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=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1779312940734665.1405181856683; Wed, 20 May 2026 14:35:40 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wPoYw-0001Hj-9p; Wed, 20 May 2026 17:34:46 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wPoYu-0001H9-I8 for qemu-devel@nongnu.org; Wed, 20 May 2026 17:34:44 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wPoYs-0007KF-F1 for qemu-devel@nongnu.org; Wed, 20 May 2026 17:34:44 -0400 Received: from mail-qv1-f72.google.com (mail-qv1-f72.google.com [209.85.219.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-622-QpDUrLE8OnKtbrX53Oi6Sg-1; Wed, 20 May 2026 17:34:40 -0400 Received: by mail-qv1-f72.google.com with SMTP id 6a1803df08f44-8b7a1ea06bfso167951036d6.3 for ; Wed, 20 May 2026 14:34:40 -0700 (PDT) Received: from x1.com ([142.189.10.167]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-8ca360b362fsm133062716d6.22.2026.05.20.14.34.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 May 2026 14:34:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1779312881; 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=u0x3Ay0P3vXrHy1/36SANeDG2Z3InXKa4XI7f+qoQ2A=; b=VdBDXX+S3Ocm6gwzuigi0HzIBsNLbVAYBsHKYLeS034PpIVzvkXkgaw55S/MHaMLBxJmJf gfGojwoaG8/CWHB7B/SoiW2P5Ac82UBwOp6nLf06iFfRUOuZ5xrWdm5Ln91KjYs4cYg13b KHlWJl7Ms8z0ezGC769/Dq6jTqrxzaI= X-MC-Unique: QpDUrLE8OnKtbrX53Oi6Sg-1 X-Mimecast-MFC-AGG-ID: QpDUrLE8OnKtbrX53Oi6Sg_1779312880 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1779312879; x=1779917679; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=u0x3Ay0P3vXrHy1/36SANeDG2Z3InXKa4XI7f+qoQ2A=; b=C9jMd3Gpjn7tIIn0Q1HCdNcA4bEcx5Ase/G4MRjwCXqUFzwwrTiJsfc4jYvzHCgcPu M5O8s3yTVKFeMsqpXjH94Oun6FBiDraitQLy3YwYFGRWJELC4o3OMsU2odr1Yi2CNOJu BBH9QPUFG9rm+F7aUXyg8dZFx1oOBO2wuzP+/0OZE2uPyhph1/469L1wZRN5o1ijRFP/ wzc0y/1D+1BztZ9/C6B/aQ1QVVJdPg/qusuEOu+ythDI5dRfOjKQBdsBtg2HS5v0nkQP MvgpYWfCVlClRttprHOaB7KZRaXObK06RqsvpzJ+OdOw0ZdZj4+SIFdfv/2vbA5o/uNI 7sxA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779312879; x=1779917679; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=u0x3Ay0P3vXrHy1/36SANeDG2Z3InXKa4XI7f+qoQ2A=; b=dBy9rvDi8nNf4rJ/yc0VlSEignjTkocxSPIIPFO8F4N9bO6t1vj0Fvp+Ronkx1CyTp HiwBy5psgYTfLQrha7W+aATPZZ9REacfASZEaaB4WVKITC8fve5Wy5JDDXhAH6CN+tXH tO+ZPHP5p+MeB629sULxlqpryLfPvS2LLtXfXMvoR99ClHZrrqcTXEKcy3V5F53UgzeB obk0L6cJKoMhI+vfl2aZyH8TTAe4hfUg7b79DNV0O6jnAIx4buyXjNULYSGSM8NGlxxA bluL/+Mps5iEHSi1H6aoA/FRpYwQbG9DkeHSz8nh9tYr1/Gy8fxerGX5bdVxluI1gIQZ aNRg== X-Gm-Message-State: AOJu0YzhbABDPDfpFiWS181uHSdEi7ivoFoSvXQusEndqYbmn6xSDFbV x6DqF3og0ku00LPIcyBR05F/yBOlMQBxC9A6k90IjtmRU9Oh1dr+W5zEM5HHKeUev+qQOS57SFl Ho5rX2qyWGLyQD9+me8o6PO50Sdo72MvOY9n88QYpEJrbnxkgq0djYPZhq8tZUDpfxh1TSugsgE XCbQPBuabmXM/7TmvDO2B9Nk4HK8+L4jABCVihPQ== X-Gm-Gg: Acq92OGV7oH43u1mMZjxCSW15mVpX9T9eVxyHD6MdoUf5zQBzSS3PN9r1fRsKhP5rrl BI2ELE99MRuy9hFc/N2Ru0D3oS3usw87RO7sbsDcf+4ly87c039wXWEXbQOOjXf2qwLEhVQmsTN oSqygNEsYQOc5d5tTYHTQY+LshHIjswf/hN7KEruOungd1NF5FwGRoNlH3ojUBw/ie6aa73plIZ 0iT9Fk8+nIwbx2wbIN5T3q76PTasd/Kmdz+ot9oILdxmi9yFYH71UbBJOvDcg8IoRjME7vriDp9 lCzmR3zjJY9L0vqKoie2JhWUPbe1jGqlRGJX9pfY3LPDKvCLPzDaasqgfdgtEJqCwGczKW51s5c nNr7gbMs9lCBkKo2Hg62W6cxggwEQWJxbvh8lmDXzcPgI X-Received: by 2002:a05:6214:20a1:b0:8ac:abc5:8754 with SMTP id 6a1803df08f44-8cc6e36241emr4370366d6.30.1779312878786; Wed, 20 May 2026 14:34:38 -0700 (PDT) X-Received: by 2002:a05:6214:20a1:b0:8ac:abc5:8754 with SMTP id 6a1803df08f44-8cc6e36241emr4369636d6.30.1779312878110; Wed, 20 May 2026 14:34:38 -0700 (PDT) From: Peter Xu To: qemu-devel@nongnu.org Cc: Fabiano Rosas , Peter Xu Subject: [PULL 15/29] tests/qtest/migration: Remove multifd compression hook Date: Wed, 20 May 2026 17:33:43 -0400 Message-ID: <20260520213357.40646-16-peterx@redhat.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260520213357.40646-1-peterx@redhat.com> References: <20260520213357.40646-1-peterx@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=peterx@redhat.com; helo=us-smtp-delivery-124.mimecast.com 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, DKIMWL_WL_HIGH=-0.445, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-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.29 Precedence: list List-Id: qemu development 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: 1779312943975154100 Content-Type: text/plain; charset="utf-8" From: Fabiano Rosas Take advantage of the default compression method for multifd being "none" and remove the common compression hook. Signed-off-by: Fabiano Rosas Reviewed-by: Peter Xu Link: https://lore.kernel.org/r/20260505160915.25558-10-farosas@suse.de Signed-off-by: Peter Xu --- tests/qtest/migration/framework.h | 3 -- tests/qtest/migration/framework.c | 9 ---- tests/qtest/migration/precopy-tests.c | 11 ---- tests/qtest/migration/tls-tests.c | 74 +++------------------------ 4 files changed, 8 insertions(+), 89 deletions(-) diff --git a/tests/qtest/migration/framework.h b/tests/qtest/migration/fram= ework.h index 825209ee74..8d5331a860 100644 --- a/tests/qtest/migration/framework.h +++ b/tests/qtest/migration/framework.h @@ -242,9 +242,6 @@ void test_postcopy_recovery_common(MigrateCommon *args, int test_precopy_common(MigrateCommon *args); void test_precopy_unix_common(MigrateCommon *args); void test_file_common(MigrateCommon *args, bool stop_src); -void *migrate_hook_start_precopy_tcp_multifd_common(QTestState *from, - QTestState *to, - const char *method); =20 typedef struct QTestMigrationState QTestMigrationState; QTestMigrationState *get_src(void); diff --git a/tests/qtest/migration/framework.c b/tests/qtest/migration/fram= ework.c index 5da39eac76..b1bf8ea8ae 100644 --- a/tests/qtest/migration/framework.c +++ b/tests/qtest/migration/framework.c @@ -1063,15 +1063,6 @@ finish: migrate_end(from, to, args->result =3D=3D MIG_TEST_SUCCEED); } =20 -void *migrate_hook_start_precopy_tcp_multifd_common(QTestState *from, - QTestState *to, - const char *method) -{ - migrate_set_parameter_str(from, "multifd-compression", method); - migrate_set_parameter_str(to, "multifd-compression", method); - return NULL; -} - QTestMigrationState *get_src(void) { return &src_state; diff --git a/tests/qtest/migration/precopy-tests.c b/tests/qtest/migration/= precopy-tests.c index b73b73a807..246f9fd555 100644 --- a/tests/qtest/migration/precopy-tests.c +++ b/tests/qtest/migration/precopy-tests.c @@ -322,18 +322,10 @@ static void test_auto_converge(char *name, MigrateCom= mon *args) migrate_end(from, to, true); } =20 -static void * -migrate_hook_start_precopy_tcp_multifd(QTestState *from, - QTestState *to) -{ - return migrate_hook_start_precopy_tcp_multifd_common(from, to, "none"); -} - static void * migrate_hook_start_precopy_tcp_multifd_zero_page_legacy(QTestState *from, QTestState *to) { - migrate_hook_start_precopy_tcp_multifd_common(from, to, "none"); migrate_set_parameter_str(from, "zero-page-detection", "legacy"); return NULL; } @@ -342,14 +334,12 @@ static void * migrate_hook_start_precopy_tcp_multifd_no_zero_page(QTestState *from, QTestState *to) { - migrate_hook_start_precopy_tcp_multifd_common(from, to, "none"); migrate_set_parameter_str(from, "zero-page-detection", "none"); return NULL; } =20 static void test_multifd_tcp_uri_none(char *name, MigrateCommon *args) { - args->start_hook =3D migrate_hook_start_precopy_tcp_multifd; /* * Multifd is more complicated than most of the features, it * directly takes guest page buffers when sending, make sure @@ -394,7 +384,6 @@ static void test_multifd_tcp_no_zero_page(char *name, M= igrateCommon *args) =20 static void test_multifd_tcp_channels_none(char *name, MigrateCommon *args) { - args->start_hook =3D migrate_hook_start_precopy_tcp_multifd; args->live =3D true; args->connect_channels =3D ("[ { 'channel-type': 'main'," " 'addr': { 'transport': 'socket'," diff --git a/tests/qtest/migration/tls-tests.c b/tests/qtest/migration/tls-= tests.c index 275d0b84d4..f45f4c4b0c 100644 --- a/tests/qtest/migration/tls-tests.c +++ b/tests/qtest/migration/tls-tests.c @@ -593,67 +593,9 @@ static void test_precopy_tcp_tls_x509_reject_anon_clie= nt(char *name, } #endif /* CONFIG_TASN1 */ =20 -static void * -migrate_hook_start_multifd_tcp_tls_psk_match(QTestState *from, - QTestState *to) -{ - migrate_hook_start_precopy_tcp_multifd_common(from, to, "none"); - return migrate_hook_start_tls_psk_match(from, to); -} - -static void * -migrate_hook_start_multifd_tcp_tls_psk_mismatch(QTestState *from, - QTestState *to) -{ - migrate_hook_start_precopy_tcp_multifd_common(from, to, "none"); - return migrate_hook_start_tls_psk_mismatch(from, to); -} - -#ifdef CONFIG_TASN1 -static void * -migrate_hook_start_multifd_tls_x509_default_host(QTestState *from, - QTestState *to) -{ - migrate_hook_start_precopy_tcp_multifd_common(from, to, "none"); - return migrate_hook_start_tls_x509_default_host(from, to); -} - -static void * -migrate_hook_start_multifd_tls_x509_override_host(QTestState *from, - QTestState *to) -{ - migrate_hook_start_precopy_tcp_multifd_common(from, to, "none"); - return migrate_hook_start_tls_x509_override_host(from, to); -} - -static void * -migrate_hook_start_multifd_tls_x509_mismatch_host(QTestState *from, - QTestState *to) -{ - migrate_hook_start_precopy_tcp_multifd_common(from, to, "none"); - return migrate_hook_start_tls_x509_mismatch_host(from, to); -} - -static void * -migrate_hook_start_multifd_tls_x509_allow_anon_client(QTestState *from, - QTestState *to) -{ - migrate_hook_start_precopy_tcp_multifd_common(from, to, "none"); - return migrate_hook_start_tls_x509_allow_anon_client(from, to); -} - -static void * -migrate_hook_start_multifd_tls_x509_reject_anon_client(QTestState *from, - QTestState *to) -{ - migrate_hook_start_precopy_tcp_multifd_common(from, to, "none"); - return migrate_hook_start_tls_x509_reject_anon_client(from, to); -} -#endif /* CONFIG_TASN1 */ - static void test_multifd_tcp_tls_psk_match(char *name, MigrateCommon *args) { - args->start_hook =3D migrate_hook_start_multifd_tcp_tls_psk_match; + args->start_hook =3D migrate_hook_start_tls_psk_match; args->end_hook =3D migrate_hook_end_tls_psk; =20 args->start.caps[MIGRATION_CAPABILITY_MULTIFD] =3D true; @@ -663,7 +605,7 @@ static void test_multifd_tcp_tls_psk_match(char *name, = MigrateCommon *args) =20 static void test_multifd_tcp_tls_psk_mismatch(char *name, MigrateCommon *a= rgs) { - args->start_hook =3D migrate_hook_start_multifd_tcp_tls_psk_mismatch; + args->start_hook =3D migrate_hook_start_tls_psk_mismatch; args->end_hook =3D migrate_hook_end_tls_psk; args->result =3D MIG_TEST_FAIL; =20 @@ -676,7 +618,7 @@ static void test_multifd_tcp_tls_psk_mismatch(char *nam= e, MigrateCommon *args) static void test_multifd_postcopy_tcp_tls_psk_match(char *name, MigrateCommon *args) { - args->start_hook =3D migrate_hook_start_multifd_tcp_tls_psk_match; + args->start_hook =3D migrate_hook_start_tls_psk_match; args->end_hook =3D migrate_hook_end_tls_psk; =20 args->start.caps[MIGRATION_CAPABILITY_MULTIFD] =3D true; @@ -689,7 +631,7 @@ static void test_multifd_postcopy_tcp_tls_psk_match(cha= r *name, static void test_multifd_tcp_tls_x509_default_host(char *name, MigrateCommon *args) { - args->start_hook =3D migrate_hook_start_multifd_tls_x509_default_host; + args->start_hook =3D migrate_hook_start_tls_x509_default_host; args->end_hook =3D migrate_hook_end_tls_x509; =20 args->start.caps[MIGRATION_CAPABILITY_MULTIFD] =3D true; @@ -700,7 +642,7 @@ static void test_multifd_tcp_tls_x509_default_host(char= *name, static void test_multifd_tcp_tls_x509_override_host(char *name, MigrateCommon *args) { - args->start_hook =3D migrate_hook_start_multifd_tls_x509_override_host; + args->start_hook =3D migrate_hook_start_tls_x509_override_host; args->end_hook =3D migrate_hook_end_tls_x509; =20 args->start.caps[MIGRATION_CAPABILITY_MULTIFD] =3D true; @@ -724,7 +666,7 @@ static void test_multifd_tcp_tls_x509_mismatch_host(cha= r *name, * to load migration state, and thus just aborts the migration * without exiting. */ - args->start_hook =3D migrate_hook_start_multifd_tls_x509_mismatch_host; + args->start_hook =3D migrate_hook_start_tls_x509_mismatch_host; args->end_hook =3D migrate_hook_end_tls_x509; args->result =3D MIG_TEST_FAIL; =20 @@ -737,7 +679,7 @@ static void test_multifd_tcp_tls_x509_mismatch_host(cha= r *name, static void test_multifd_tcp_tls_x509_allow_anon_client(char *name, MigrateCommon *arg= s) { - args->start_hook =3D migrate_hook_start_multifd_tls_x509_allow_anon_cl= ient; + args->start_hook =3D migrate_hook_start_tls_x509_allow_anon_client; args->end_hook =3D migrate_hook_end_tls_x509; =20 args->start.caps[MIGRATION_CAPABILITY_MULTIFD] =3D true; @@ -748,7 +690,7 @@ static void test_multifd_tcp_tls_x509_allow_anon_client= (char *name, static void test_multifd_tcp_tls_x509_reject_anon_client(char *name, MigrateCommon *ar= gs) { - args->start_hook =3D migrate_hook_start_multifd_tls_x509_reject_anon_c= lient; + args->start_hook =3D migrate_hook_start_tls_x509_reject_anon_client; args->end_hook =3D migrate_hook_end_tls_x509; args->result =3D MIG_TEST_FAIL; =20 --=20 2.53.0 From nobody Sat May 30 17:43:30 2026 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1779313025; cv=none; d=zohomail.com; s=zohoarc; b=bJVsX8zf/aIGlVupQmduqwnj0hqC7x0A44b1XJqhFTZotkIgOiir+oX6+3CrM3T5JcI4zcAX8kY7srhOkJSZGs521YDdn4C7qGVMNM0+YNpWvpgDFVGR/3IafR5XowVSckHxTuMeEkxv7xDu7ZtHAee6DVbdRMOK/TcoKelGan8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779313025; 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=XW0WUY+8SOS2wnOtPIllNDOMeReNO1Ag3bscX+uOO5g=; b=atIlYL+Lobd4cRJKBC5X7kI/RV8g2QqQRW19cLZtrAQBHCLEgF54Sned3GreLO+xrVy1xQIhI8vjdtE1t5PQXhhrHIRTg9tsyHOuEVUfj/qlIXKvoHDhR9Hc7J3SQw9q5ALkj5TcgOR+8RYiRnznTH8vQwMwGgCRNWBJfP7BCus= 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=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1779313025974600.8283525521529; Wed, 20 May 2026 14:37:05 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wPoYv-0001Hi-Rh; Wed, 20 May 2026 17:34:45 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wPoYu-0001H5-Fn for qemu-devel@nongnu.org; Wed, 20 May 2026 17:34:44 -0400 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 1wPoYs-0007KK-Lb for qemu-devel@nongnu.org; Wed, 20 May 2026 17:34:44 -0400 Received: from mail-qv1-f72.google.com (mail-qv1-f72.google.com [209.85.219.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-19-wT44gs5bM-6168L0JH0cTw-1; Wed, 20 May 2026 17:34:40 -0400 Received: by mail-qv1-f72.google.com with SMTP id 6a1803df08f44-8bc5ab12bb5so185439116d6.3 for ; Wed, 20 May 2026 14:34:40 -0700 (PDT) Received: from x1.com ([142.189.10.167]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-8ca360b362fsm133062716d6.22.2026.05.20.14.34.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 May 2026 14:34:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1779312882; 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=XW0WUY+8SOS2wnOtPIllNDOMeReNO1Ag3bscX+uOO5g=; b=WEiJkvPLOJ4Y63yuepEwuYCJN4uxyUsmUkEHHl5W2zpo4bfgsX5FxnIoX2pZqGVMVt2f+M tGE1a3ust9mbL4EGLiTcaoKvNkZfVfpqGwgx7JrKChkyGMXlefeIKYyL02GxfqsrDukTe9 d1uqZfNNOXeqve3kypVoDMMp91/Gog0= X-MC-Unique: wT44gs5bM-6168L0JH0cTw-1 X-Mimecast-MFC-AGG-ID: wT44gs5bM-6168L0JH0cTw_1779312880 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1779312880; x=1779917680; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=XW0WUY+8SOS2wnOtPIllNDOMeReNO1Ag3bscX+uOO5g=; b=Kc7nzV3LL5FHnpmhyebzOBwkxGvSyOOG4DKWs9RbDv9o490gjvSLj/IYM4aq7modMH r8kGgFNvFi+/mkdyokKbpIQZqRfCLKVyRmLZY4bLADCeV5sL2lwOSwZdZ9AE6/s6HJnU NJNYNatdw0Iv0liJlZk9OXlftpmoe2kEPd/V0gV2W6gAECyZrKtByOOp2ubQKEJp62+q BMb00MNbz2NJpGwvfUyXPI8dP9pt9pmUR7c1mouBGYUI++weFeqoIqKp0MdDNp4E86+B B6+Xu0jFl1x72dEk6RjIiOJrfr/mu6xZ6HibFtGVMgP9SUsUUDwyykRkrK69bCUv4tlV mxdA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779312880; x=1779917680; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=XW0WUY+8SOS2wnOtPIllNDOMeReNO1Ag3bscX+uOO5g=; b=QEcGeEV0Fnf7aMbD4fiwUxN+a9lJ+SHtvf5FSM28RKSSaSCIfd08DVqxipavzpyoiS W1op2b3L/7EqTsZzBIKqCGkaCXeiuXobxduHLtYnTgRSqeassrL0L1xX0BPTBEo4GZCi Jm6Awtjgh01Opist7QEZS6O5n7TCmj+2yMZq5ck/uqz4HHzwllB/Q5x9w0niIVnmnH+V hbyEpKevsJOsxxRf2vVw9tbrCeVBVrA+nf6EwvGnVFB5XdzQBkd0394zMC5BvyFKrGcZ JwAn8OCK1crtalVEduwNCaKMTQ/q7efuIescz89SnOvcPQCwbC5UK2iVj+VgLGJflo5a FJVg== X-Gm-Message-State: AOJu0YzZa/fk6FQGvshQKGRYohPZbyE4Iu0klqiPiGLsX7gzGX8hk0l8 zCruMJW1Nd/Y9ZxqHMeUXxLy5iqW6E4vgwHSCA1tbbs/dZChhQOPETXJgqQKsOHOqyOIExYizVm N4Y2Xof795QrzKo7cZzNlpbszajWYYDl8Ddu80dtIOuMKJijCNBrUB9VI8ekO/MVbqflTNnUzP5 jxapTZMPYZSmZcbqvV16o27i/wq+GCIYvIjkezvg== X-Gm-Gg: Acq92OGS99nS8K2obHeBIytsLsWTAOQmXRpGcrizUXSYhkjTeB7OSVmVF7e0hsuWoqT BOqIPg6fLb9mEK66tLi/x4h7B/dEx0nEBHPXOrvz2aeIp6vDH/BgHD5bUZyJVx/i/pynjUbDjC1 X7MUNpVqp5n5n/joLoisPUTTq5rb3NBF1Skjsfmu4q6wtzKLEa8cOXWec3z6LCQ+e90PaLZzstZ IHJ3SzzRd+G042gXKGcAkiUC/91QenM3l4sw4Il1hN/2GWXOhePbjTnPBmQ3xQmRx0VRSM0rLog 1b45FQh0V27KBPrIXosGSESlUiSjLC0zoemfr2ijzhcreU2mEBcAHLirw8ZOKcxWiQeQSky+oUp 0FT7dki4A+gTsC5Twr4Mfo2JxkGYiaSlpZ8/VwJ5Nekyl X-Received: by 2002:a05:6214:468f:b0:899:f0b1:7332 with SMTP id 6a1803df08f44-8cc6e483a68mr3756986d6.32.1779312880029; Wed, 20 May 2026 14:34:40 -0700 (PDT) X-Received: by 2002:a05:6214:468f:b0:899:f0b1:7332 with SMTP id 6a1803df08f44-8cc6e483a68mr3756446d6.32.1779312879497; Wed, 20 May 2026 14:34:39 -0700 (PDT) From: Peter Xu To: qemu-devel@nongnu.org Cc: Fabiano Rosas , Peter Xu Subject: [PULL 16/29] tests/qtest/migration: Use defer for all tests Date: Wed, 20 May 2026 17:33:44 -0400 Message-ID: <20260520213357.40646-17-peterx@redhat.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260520213357.40646-1-peterx@redhat.com> References: <20260520213357.40646-1-peterx@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=lists1p.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: -24 X-Spam_score: -2.5 X-Spam_bar: -- X-Spam_report: (-2.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.445, 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_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-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.29 Precedence: list List-Id: qemu development 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: 1779313032631158500 Content-Type: text/plain; charset="utf-8" From: Fabiano Rosas Change all invocations of migrate_start to use defer. The uri parameter will be removed from that function in subsequent patches. Signed-off-by: Fabiano Rosas Reviewed-by: Peter Xu Link: https://lore.kernel.org/r/20260505160915.25558-11-farosas@suse.de Signed-off-by: Peter Xu --- tests/qtest/migration/misc-tests.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/tests/qtest/migration/misc-tests.c b/tests/qtest/migration/mis= c-tests.c index 8d1cd44183..8216b5d79d 100644 --- a/tests/qtest/migration/misc-tests.c +++ b/tests/qtest/migration/misc-tests.c @@ -28,9 +28,11 @@ static void test_baddest(char *name, MigrateCommon *args) =20 args->start.hide_stderr =3D true; =20 - if (migrate_start(&from, &to, "tcp:127.0.0.1:0", &args->start)) { + if (migrate_start(&from, &to, "defer", &args->start)) { return; } + + migrate_incoming_qmp(to, "tcp:127.0.0.1:0", NULL, "{}"); migrate_qmp(from, to, "tcp:127.0.0.1:0", NULL, "{}"); wait_for_migration_fail(from, false); migrate_end(from, to, false); @@ -52,8 +54,7 @@ static void test_analyze_script(char *name, MigrateCommon= *args) return; } =20 - /* dummy url */ - if (migrate_start(&from, &to, "tcp:127.0.0.1:0", &args->start)) { + if (migrate_start(&from, &to, "defer", &args->start)) { return; } =20 @@ -69,6 +70,7 @@ static void test_analyze_script(char *name, MigrateCommon= *args) uri =3D g_strdup_printf("exec:cat > %s", file); =20 migrate_ensure_converge(from); + migrate_incoming_qmp(to, "tcp:127.0.0.1:0", NULL, "{}"); migrate_qmp(from, to, uri, NULL, "{}"); wait_for_migration_complete(from); =20 @@ -178,13 +180,15 @@ static void do_test_validate_uri_channel(MigrateCommo= n *args) QTestState *from, *to; QObject *channels; =20 - if (migrate_start(&from, &to, args->listen_uri, &args->start)) { + if (migrate_start(&from, &to, "defer", &args->start)) { return; } =20 /* Wait for the first serial output from the source */ wait_for_serial("src_serial"); =20 + migrate_incoming_qmp(to, "tcp:127.0.0.1:0", NULL, "{}"); + /* * 'uri' and 'channels' validation is checked even before the migration * starts. @@ -248,7 +252,6 @@ static void test_validate_caps_pair(char *test_path, Mi= grateCommon *args) =20 static void test_validate_uri_channels_both_set(char *name, MigrateCommon = *args) { - args->listen_uri =3D "defer", args->connect_uri =3D "tcp:127.0.0.1:0", args->connect_channels =3D ("[ { ""'channel-type': 'main'," " 'addr': { 'transport': 'socket'," @@ -263,7 +266,6 @@ static void test_validate_uri_channels_both_set(char *n= ame, MigrateCommon *args) =20 static void test_validate_uri_channels_none_set(char *name, MigrateCommon = *args) { - args->listen_uri =3D "defer"; args->start.hide_stderr =3D true; =20 do_test_validate_uri_channel(args); --=20 2.53.0 From nobody Sat May 30 17:43:30 2026 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1779312909; cv=none; d=zohomail.com; s=zohoarc; b=hgPEA9aGXqBTjJj+Zc/DDMWZaQJtFjEYZgEYokJzXh2v/P2n5tGJcT+zzOYfv+Vk0WowWcwoPkXq0SlTGBmak1SEVopjAa4nKRQZoq8U7iUpqtKhLzyY8U1OyV9BgdsZ/681PEpEQc0hoxVGbgxaJl24FeDNm84IEujZPjz7zmc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779312909; 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=oe2LBK8fDwEruVzCjrliSYntZKay/6ne0SQnWH9QpMA=; b=jsHTyzzhHpKwCzYKFx0eiXj/vSwFpjX2aWTfck+90kGF4ey3KpdCnLaSPMi92NNpdmXRH3n1+GUTdHFqRN2FIxugoXmD92P6haZRu76kzZoEzJLqyTpf9kSSo7ZHzQ+4l2prLjeKWmLcoo6bRt5tCl0+wXaSv56QqYdxA/2E0gQ= 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=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 177931290929546.95775638465727; Wed, 20 May 2026 14:35:09 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wPoYz-0001S8-2h; Wed, 20 May 2026 17:34:49 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wPoYx-0001NU-QT for qemu-devel@nongnu.org; Wed, 20 May 2026 17:34:47 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wPoYw-0007L4-3k for qemu-devel@nongnu.org; Wed, 20 May 2026 17:34:47 -0400 Received: from mail-qt1-f197.google.com (mail-qt1-f197.google.com [209.85.160.197]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-688-PactuG3sNGWc6mZfsQRw0A-1; Wed, 20 May 2026 17:34:43 -0400 Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-50fbc49bef6so108832371cf.0 for ; Wed, 20 May 2026 14:34:43 -0700 (PDT) Received: from x1.com ([142.189.10.167]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-8ca360b362fsm133062716d6.22.2026.05.20.14.34.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 May 2026 14:34:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1779312885; 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=oe2LBK8fDwEruVzCjrliSYntZKay/6ne0SQnWH9QpMA=; b=T7tm/IOUxcXT3lSF75QBihzn91vxljc3cfzHrX34UccznIu5e8NgLAaem6LfdqTvhgzupA wZeH6bgh4KDkRm6k9o+o8e25g17Ptu1+V5lTYOjrNELTRaG5MEjMNb7BzpA6A1iwv0GzqN UdgMo4Ml3lUdAL/F6tRXJ72Q2z46Ie8= X-MC-Unique: PactuG3sNGWc6mZfsQRw0A-1 X-Mimecast-MFC-AGG-ID: PactuG3sNGWc6mZfsQRw0A_1779312883 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1779312883; x=1779917683; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=oe2LBK8fDwEruVzCjrliSYntZKay/6ne0SQnWH9QpMA=; b=QsfnfJMU9nmuGIpzgIqq6DHKxwlz/EIEoAqVhGNqHVOJjFOjDY3Wt9u61z42QlBV8U 2Q3bFU0NSIaRPcm0xiLYeyf5rz0lJ1r66U1OVg/o7/4ygpqALIXH0DGOdBKsFNNa6svb dv+jU+Fq9pLQxO25qIjokO+TL34dA14XqAE4gN6oBjKy2OuzCa7dQMjxg3XCF9Y/i/Bb OxVIhc75QrsG/q7MzMFk/kfJprBN6/6HWwDrBGeTP3K1GOXIFiSf3SFbFwNNCzDJkQ0N WX0gN4lp3XbcYJ6qxBwzuw79xBSDmksiyr3hweitNYqXu1rwHmAfTkXepHaoCByu+Bql AcDA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779312883; x=1779917683; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=oe2LBK8fDwEruVzCjrliSYntZKay/6ne0SQnWH9QpMA=; b=rAIWC407KeA9S36wErxItr9Eh86LZUuJa/tbIruMz6xA/byyO2cvP105zQyZpqCQ0u NPtM+Ksfob2I+uf0dmiBe69f9RKKY5bQe2RapMj7231qqUQLW/zaHLrQ65tn5DcLaCO6 hpr050naWszO0LvnWLC6EPue6nhaCHfSgTMXMkJ3NxdlrFuMqjUosuDujl0Zm14sVQd+ XCCnP32aWccBJLmRto8FgsmicugCG6iJ4/mmbHPmEQOhhV0ze8IvlTkMsgsYfB/6Zu7I ndY+tA4M72Sdp7ox89dL0JuK2GU1JgNchfUGYoNKvv6lica5PCkvk++hCgmat0N0Ji81 CpBQ== X-Gm-Message-State: AOJu0YyTNJmr9gNMrpWY/3z3UIBdseCSOf0JtcPhvWDyJRDoP5Hl016c 0ngROJXqugXfb8eVhPKk+GnPPV2cwr8GYLz/mx4LIh01eST1e7G1lUr93qhy99tikphwKJktALb +Hna0disaAe2PT9DEXUnKSCVeDbmi7SLQhYvl6traLqIbGohhnTjD2LAruJbLs5Z1dd8nAZ6xh1 v3nFvkSm1u1/9gf0YifqZIR8jVSYSqQN+GYSSPLg== X-Gm-Gg: Acq92OEzDQuhr2E/HK8jAuxMhGAdeKymyBc6idt9OoyYF+smteh0R/f44+libnvWi1d v+mYKf1S0BySTzFwTIYQi3vjwkFcfHcxjEsIQmDATRe8pJTDUprsxLWVy4cfBLrNz9MbOaR5X9p CWZ4+5jr6Zzcv4w79VOz3+K6sdTOAB6y6GYGL83FSRrysVjVPDKMvQA0blKVPuNYOqHg8kMzKrY vm4O0w7S8uY1eJcGHggvwIdpTdX4C5sTScmhppnmauYPNmKbOvjfDUbfQTGGfUcQ2YxBXBc2jM7 W7o6WLjWrIMoUccZFFj+LKgbD9gNZH/N4H9M5Wyehu2RHRexo0mqInWvivCXyki7qnAjMt77I3u 7mFOTe5lHqWvejPZZvo7o19eN8fCaCtH2N5wKw+ZXE9kjHn/bmpqLVaI= X-Received: by 2002:a05:622a:4cc5:b0:50f:bc91:709 with SMTP id d75a77b69052e-516c559eccemr3413291cf.39.1779312883223; Wed, 20 May 2026 14:34:43 -0700 (PDT) X-Received: by 2002:a05:622a:4cc5:b0:50f:bc91:709 with SMTP id d75a77b69052e-516c559eccemr3412871cf.39.1779312882705; Wed, 20 May 2026 14:34:42 -0700 (PDT) From: Peter Xu To: qemu-devel@nongnu.org Cc: Fabiano Rosas , Peter Xu Subject: [PULL 17/29] tests/qtest/migration: Use defer for cpr-tests Date: Wed, 20 May 2026 17:33:45 -0400 Message-ID: <20260520213357.40646-18-peterx@redhat.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260520213357.40646-1-peterx@redhat.com> References: <20260520213357.40646-1-peterx@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=peterx@redhat.com; helo=us-smtp-delivery-124.mimecast.com 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, DKIMWL_WL_HIGH=-0.445, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-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.29 Precedence: list List-Id: qemu development 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: 1779312911260154100 Content-Type: text/plain; charset="utf-8" From: Fabiano Rosas Signed-off-by: Fabiano Rosas Reviewed-by: Peter Xu Link: https://lore.kernel.org/r/20260505160915.25558-12-farosas@suse.de Signed-off-by: Peter Xu --- tests/qtest/migration/cpr-tests.c | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/tests/qtest/migration/cpr-tests.c b/tests/qtest/migration/cpr-= tests.c index 18217f0460..9091a84213 100644 --- a/tests/qtest/migration/cpr-tests.c +++ b/tests/qtest/migration/cpr-tests.c @@ -60,7 +60,7 @@ static int test_transfer(MigrateCommon *args, const char = *cpr_channel, obj =3D migrate_str_to_channel(cpr_channel); qlist_append(channels_list, obj); =20 - if (migrate_start(&from, &to, args->listen_uri, &args->start)) { + if (migrate_start(&from, &to, "defer", &args->start)) { return -1; } =20 @@ -128,11 +128,17 @@ static void test_mode_transfer_common(MigrateCommon *= args, bool incoming_defer) int cpr_sockfd =3D qtest_socket_server(cpr_path); g_assert(cpr_sockfd >=3D 0); =20 - opts_target =3D g_strdup_printf("-incoming cpr,addr.transport=3Dsocket= ," - "addr.type=3Dfd,addr.str=3D%d %s", - cpr_sockfd, opts); + if (incoming_defer) { + opts_target =3D g_strdup_printf("-incoming cpr,addr.transport=3Dso= cket," + "addr.type=3Dfd,addr.str=3D%d %s", + cpr_sockfd, opts); + } else { + opts_target =3D g_strdup_printf("-incoming %s " + "-incoming cpr,addr.transport=3Dsock= et," + "addr.type=3Dfd,addr.str=3D%d %s", + uri, cpr_sockfd, opts); + } =20 - args->listen_uri =3D incoming_defer ? "defer" : uri; args->connect_channels =3D connect_channels; =20 args->start.opts_source =3D opts; @@ -224,7 +230,7 @@ static void test_cpr_exec(MigrateCommon *args) g_autofree char *filename =3D g_strdup_printf("%s/%s", tmpfs, FILE_TEST_FILENAME); =20 - if (migrate_start(&from, NULL, args->listen_uri, &args->start)) { + if (migrate_start(&from, NULL, "defer", &args->start)) { return; } =20 @@ -274,10 +280,7 @@ static void test_mode_exec(char *name, MigrateCommon *= args) { g_autofree char *uri =3D g_strdup_printf("file:%s/%s", tmpfs, FILE_TEST_FILENAME); - g_autofree char *listen_uri =3D g_strdup_printf("defer"); - args->connect_uri =3D uri; - args->listen_uri =3D listen_uri; args->start_hook =3D test_mode_exec_start; =20 args->start.only_source =3D true; --=20 2.53.0 From nobody Sat May 30 17:43:30 2026 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1779312987; cv=none; d=zohomail.com; s=zohoarc; b=A7rqY7Xl5kKOCI7Um6ipd7pPHO5E2eT64VdcyaGXRvGTTpz1E7taSKiQOal3zel64Ct02M1C5mSSZ9/+Mbdwyx5pLaOGsXcm8EsNkYZC5a3eoKR3ZIkDTTCIu9xsY2wrXZU8NAKe2j0Bn9YcNGQN9YW4Yo8EN0yr4kW6bTHIytM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779312987; 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=nqzSTOzRibhDdsnp1HWGTR+Xg0xg8YgkZnT6OTbnNts=; b=SXW/uqmq0SJPtMKn04XCabPuGXQGd1rG5CIWLHLsix4T3bcP8Xwk8oYn3GK6mRg1LJXo8ZqLPNC0iMfoGI40tJGmRK+8dqXpztQS0a38HNInhCbk8D7sL5uxpE8bjrB1twvGG+5vwTVi0DgAd/ANph6fwfzjluaBLBNP5fcg9NE= 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=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1779312987161450.07108727765205; Wed, 20 May 2026 14:36:27 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wPoZ3-0001W1-Kv; Wed, 20 May 2026 17:34:53 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wPoZ2-0001Vj-5w for qemu-devel@nongnu.org; Wed, 20 May 2026 17:34:52 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wPoZ0-0007LM-4S for qemu-devel@nongnu.org; Wed, 20 May 2026 17:34:51 -0400 Received: from mail-qv1-f71.google.com (mail-qv1-f71.google.com [209.85.219.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-558-N4gUBW3xM6uUG0T7MX3PvQ-1; Wed, 20 May 2026 17:34:48 -0400 Received: by mail-qv1-f71.google.com with SMTP id 6a1803df08f44-8acb26fbbb2so30945196d6.2 for ; Wed, 20 May 2026 14:34:48 -0700 (PDT) Received: from x1.com ([142.189.10.167]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-8ca360b362fsm133062716d6.22.2026.05.20.14.34.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 May 2026 14:34:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1779312889; 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=nqzSTOzRibhDdsnp1HWGTR+Xg0xg8YgkZnT6OTbnNts=; b=SEHQSt3nrN2427OJXUBxvf2qtf770LXsFdze1Wu9XgCHTfDBx165Y/JIVXlS1ozjdjl3Ly BAMXPqGzOdBx1Na0aqczNzTstBv0tht4qergda4dpzHit1AxKQUuSQ12mf5HHVfoA8kxGX 64jUNNKKuYaes2jCNnPJ0u9dNsSp38A= X-MC-Unique: N4gUBW3xM6uUG0T7MX3PvQ-1 X-Mimecast-MFC-AGG-ID: N4gUBW3xM6uUG0T7MX3PvQ_1779312887 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1779312887; x=1779917687; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=nqzSTOzRibhDdsnp1HWGTR+Xg0xg8YgkZnT6OTbnNts=; b=pKLJqHBaP+26UtnT+vDal8Csx4JTprLWRmeFDhFW0D+HPNSs1Hm6ggDMP49dGG/txs s4OVU1Ve0+h8npiA9wABT18U9wphUQh5sIf7PcfKhRpUL5AnUrKX9Iy1H0kULjkUl6dr BjQlhkmWLKsRds9mbtIqu4C1VGPtdkAqRYW+eFrbRFfLSf9ahhHHiij/+xDXcNUVWgnf c0cu+JRFX8DcSfhKtuulcvVpQuP3SE5K+xH2IXs69swyOriY1Dv466hm7YIo+nTFxCNz s4Yu6+6eteH318384t7iv+sRCivKEvgzaU/lcYSFQlrKtgejzXoEGlsqySO/qSR55+W/ BDdw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779312887; x=1779917687; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=nqzSTOzRibhDdsnp1HWGTR+Xg0xg8YgkZnT6OTbnNts=; b=W6LgjZ57GNIHw0uY6B0nFInv32dg9kk0nwKOKScr0Q6yHqo1p/KHU+xOJljfTrooVA MFxNwJE7+huC0M+/nwAE1z0GOmmqmfxx0aDio1fmNWCXXr+FMWOcNMFV8WCceD0k8J0v KB+UVkSoaNYuUA6EoZw6dJnfegoarFDRq20XHhvcSLZjwcfg6NzH5MqxbMtaUR2oXwUV TGEWmKejvW+aw6caQawovn1dl3CC/Fu6LeuFTVz8XX1EHmt72INHk4m0dD0J5ZUnBpIj XQ3EBdD1KWV+pekBVikQS7XYsXic68lEfCKjazo4vEd0jvgZmRVFXjtxRIbWd4ZDBy2s LfJA== X-Gm-Message-State: AOJu0YwuHo7wfbNlhZ58AEk2GwJ+dZNDnH5oIRB2Gozn73gzMMwu3xaq xYcgtcP2r/rI8u/VhJOHxmeGVjw26n7OFbETlNXRxaUnQOVHFnA/9YCgema6MuicYiWAqlH3kRh X9l1nvZJo34JCYR+R9d/ax3SeMVeaBrAwHHlBrj45JYfZcMoeM2zKR3vA64x9DYVW3pfQ3DFnJD rnozBrP3LIFIFiGL3Uxm0Kb8FYzCXzeBpyePrO0g== X-Gm-Gg: Acq92OHYMZulESaSyaHNH1Fq9X+wg967U4LbfWVVSvuSn/b1rvHhyIgCsBMPilWUDoB /WVyOHISwgnk1HQ65h6UDG0mKAJRNU4gLbXOSdSoBZfDt2tDPmOdi8r47eHOIJKXo2BhjjJfRoa gGAdZUKR+5jFy/xGs2kIcbg8vyNJtoEjwNm1CmL5M983CBybVYwjqW0jq6wBsfF5oj7Eh6BoWbH KuccVDP91BjzgZHa3VxT/t6lcpVK6VYhFXB88QT/bpkeS0K2r9fsf15TgjgO+hbLvkw4HDiJleO KxF1vYesFhMdSpgwQT4zs9olU75Z3njIUZz8t/gwL4sOluJfIrO6QYBoXtJy4+9+DTMOOD0koN7 lgi6Cjldp4x0vbkpPr6yJ1X/hHhSfWXR7fvJO+6e0i6E7 X-Received: by 2002:a05:6214:4286:b0:8ca:207d:50c8 with SMTP id 6a1803df08f44-8cc6e30abf2mr4543466d6.16.1779312887422; Wed, 20 May 2026 14:34:47 -0700 (PDT) X-Received: by 2002:a05:6214:4286:b0:8ca:207d:50c8 with SMTP id 6a1803df08f44-8cc6e30abf2mr4542616d6.16.1779312886631; Wed, 20 May 2026 14:34:46 -0700 (PDT) From: Peter Xu To: qemu-devel@nongnu.org Cc: Fabiano Rosas , Peter Xu Subject: [PULL 18/29] tests/qtest/migration: Use defer for auto-converge Date: Wed, 20 May 2026 17:33:46 -0400 Message-ID: <20260520213357.40646-19-peterx@redhat.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260520213357.40646-1-peterx@redhat.com> References: <20260520213357.40646-1-peterx@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=peterx@redhat.com; helo=us-smtp-delivery-124.mimecast.com 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, DKIMWL_WL_HIGH=-0.445, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-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.29 Precedence: list List-Id: qemu development 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: 1779312988176158500 Content-Type: text/plain; charset="utf-8" From: Fabiano Rosas Signed-off-by: Fabiano Rosas Reviewed-by: Peter Xu Link: https://lore.kernel.org/r/20260505160915.25558-13-farosas@suse.de Signed-off-by: Peter Xu --- tests/qtest/migration/precopy-tests.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/qtest/migration/precopy-tests.c b/tests/qtest/migration/= precopy-tests.c index 246f9fd555..bf01fde8b2 100644 --- a/tests/qtest/migration/precopy-tests.c +++ b/tests/qtest/migration/precopy-tests.c @@ -268,7 +268,7 @@ static void test_auto_converge(char *name, MigrateCommo= n *args) int64_t percentage; const int64_t init_pct =3D 5, inc_pct =3D 25, max_pct =3D 95; =20 - if (migrate_start(&from, &to, uri, &args->start)) { + if (migrate_start(&from, &to, "defer", &args->start)) { return; } =20 @@ -284,6 +284,7 @@ static void test_auto_converge(char *name, MigrateCommo= n *args) =20 wait_for_serial("src_serial"); =20 + migrate_incoming_qmp(to, uri, NULL, "{}"); migrate_qmp(from, to, uri, NULL, "{}"); =20 /* Wait until throttling begins */ --=20 2.53.0 From nobody Sat May 30 17:43:30 2026 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1779312988; cv=none; d=zohomail.com; s=zohoarc; b=jbs1obInvAPU+Y9v+nuCAPaFFhI0sDBYX1d5e05APEVVN3FS2v9CYufR+jqFHYzk4WSZBe/VIWWID2nHKHrKd7J+FF7K1ADCUX73vlWLtAP+ccxChhLZ9AIqEWz2GxxlI/pYy9SsvLcuUk0LjceVKLFyAB/nsXEM0Si/Y6KFaCk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779312988; 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=7eMRZuLTlzyY8y/uF1kVGsbn0oKuR1A0Z8JBgJKHAQw=; b=JkLOfxDav4AHtWoU9Tx58lbhwirrNvrTaLkhdoniAUnC+GXxeG5rRIw1iUioP3/fLxuUd7R7tf6aJBrsERvTZ4CS55WkA1hQk3t84hxe5eCJyjBG2lLbV/JoxWEIR+DzLWaxZqUFDqCghF7jnikX9/tsImlG/ZWhjA08SRSXor8= 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=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1779312988747528.8553430361222; Wed, 20 May 2026 14:36:28 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wPoZ5-0001Yl-5K; Wed, 20 May 2026 17:34:55 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wPoZ3-0001W9-Q3 for qemu-devel@nongnu.org; Wed, 20 May 2026 17:34:53 -0400 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 1wPoZ2-0007Lm-Ap for qemu-devel@nongnu.org; Wed, 20 May 2026 17:34:53 -0400 Received: from mail-qv1-f71.google.com (mail-qv1-f71.google.com [209.85.219.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-445-HMjUpG4DNz2UxysM4kXeDA-1; Wed, 20 May 2026 17:34:50 -0400 Received: by mail-qv1-f71.google.com with SMTP id 6a1803df08f44-8b46c014a26so168438386d6.0 for ; Wed, 20 May 2026 14:34:50 -0700 (PDT) Received: from x1.com ([142.189.10.167]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-8ca360b362fsm133062716d6.22.2026.05.20.14.34.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 May 2026 14:34:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1779312891; 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=7eMRZuLTlzyY8y/uF1kVGsbn0oKuR1A0Z8JBgJKHAQw=; b=Rs2re9pVQ8VBEAM9K/dW/CiqO6GhmDf1KN0ihRxKC20qOmmDnPYjtExV5rQC5ceEh1Gf5w dP+cJ0Xe/ex9FRM49m7yVksNN5t7+zhgleBWTt1BgWNoYCEIV49xcbo2t3ti6l6C1k3i22 uD/QnBd1hVZCDq+3ck4vE6fzhdi3uYE= X-MC-Unique: HMjUpG4DNz2UxysM4kXeDA-1 X-Mimecast-MFC-AGG-ID: HMjUpG4DNz2UxysM4kXeDA_1779312889 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1779312889; x=1779917689; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=7eMRZuLTlzyY8y/uF1kVGsbn0oKuR1A0Z8JBgJKHAQw=; b=qScGnH9Xdnb1l7DlguWRPA0gJCHYSQiUxC3g/UU9UcGJyw6t2zxDswGnjdicOvcjYA JBON2+6QW4vQFRzQ2mJuO2u8roAyqs+yCeUC32lKGaEwl0AN3j+Iu3N3uY6te20uUCij 1MAEBzMpCIqcxWOVg+Ex3QN1+VCeZYP4cSpw7T+7c4sZTgvC8aOzcmXlajE91f/qd/Zk JifoQCC5bqqj4EWrzOMKFDZPTYp5IfTUtBvmu79KIvpWyhsS7YPasm8eIc0E6JzVSoVK 84jvfpEs0cYZ4/cUC17WKM0F5X1tvk3mWHkQ7annRcrkObU0m5ooVWk79igukSHyUjJw 1EWA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779312889; x=1779917689; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=7eMRZuLTlzyY8y/uF1kVGsbn0oKuR1A0Z8JBgJKHAQw=; b=MjQgl/C1ydWGQIl1U+eQkcnps9SYNTlhLnHB8vJgNQmn2w20tA/H+09iG01NepzCWS LBmrVxshFwAZmEpYxJ9Qsq7WSq+5WYNLDbwXFF7JJSJnL+oIBpFYKEexUiHrv2/BnHoK GmbqbC7IUi6hWZLeh5D50Y+VDIB9D/YbFVAClvLZ/Phy/tPEFdGA8GS6Z2zmqRPSS4+Y XXnhmKNXM23IaaEAwCJ/vlfv1Raud9TZV+15bTltosdkdG+MptXNksomDwAC3CURlAlY y1FOs7OKuJBipKABgMUZh1zwtRPQwsWHfZdbsBvxmBgplKpvgL1ejSmZCka/HEdfBgRh cfmA== X-Gm-Message-State: AOJu0YwtuhW7yiNBoLqXZVnkANADFxehGP201pbmfYs5+Imc51UM9LIK l2pC6HfHeT1WjPkhYevAVhcdI70mUTzTd84Vb8+DYGxuKpBs3RF9iX579vWmyVsA0NoPiFYwYpr aeS3rJco9dTwLsArZw1vXrYUULwlyoiRDBb5KJR5ZEOwc5rah8qeL5EOoloDs79LJRlyYZKCJI5 SiFHdeT8DKXzOeDxea7kC8z8qT38GEZyoqEEb9qg== X-Gm-Gg: Acq92OFUDXCmaNOTTsHUfNSnxjecdKsI3tz0pIkZGIomlWb7mzpouWgZaPESzR+OJCD 35lstZlnuZU8yZAG4xKAR8QqVXrwrLVkrqPzfpiGsg/iDbQiY79QIOa3kvv993uH/sPgg2jQwNn 35Upqeb3iHv5rFj476QD8xYyg2s6Q5T74B4TIHtmmCY4iFCevsZWxRnFUnkrHA/aL6dtCgpaYLY xNyUVYxgPmF6tzMhVruunTP4Zi8KJ1WPGwmBtquFwQsfr4rqZGCUeKcve/JiDjpgRkwEr+o4EHA hQavAWolR1avfJSLCPTkeinhCLg3oYXkVbR6GycEuD65j4s9gjTq2JACMNzvEEgJiridv8KSK5B 9KlCtNS2/cKQ6Juo5QS1FKznVp2wOIoD0c3rxuNQ3kMDG X-Received: by 2002:a05:6214:500d:b0:8bd:c5ca:3975 with SMTP id 6a1803df08f44-8cc6e6998fdmr3481596d6.46.1779312889355; Wed, 20 May 2026 14:34:49 -0700 (PDT) X-Received: by 2002:a05:6214:500d:b0:8bd:c5ca:3975 with SMTP id 6a1803df08f44-8cc6e6998fdmr3480886d6.46.1779312888613; Wed, 20 May 2026 14:34:48 -0700 (PDT) From: Peter Xu To: qemu-devel@nongnu.org Cc: Fabiano Rosas , Peter Xu Subject: [PULL 19/29] tests/qtest/migration: Use defer in dirty_limit test Date: Wed, 20 May 2026 17:33:47 -0400 Message-ID: <20260520213357.40646-20-peterx@redhat.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260520213357.40646-1-peterx@redhat.com> References: <20260520213357.40646-1-peterx@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=lists1p.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: -24 X-Spam_score: -2.5 X-Spam_bar: -- X-Spam_report: (-2.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.445, 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_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-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.29 Precedence: list List-Id: qemu development 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: 1779312990481154100 Content-Type: text/plain; charset="utf-8" From: Fabiano Rosas Signed-off-by: Fabiano Rosas Reviewed-by: Peter Xu Link: https://lore.kernel.org/r/20260505160915.25558-14-farosas@suse.de Signed-off-by: Peter Xu --- tests/qtest/migration/precopy-tests.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/qtest/migration/precopy-tests.c b/tests/qtest/migration/= precopy-tests.c index bf01fde8b2..e915b21712 100644 --- a/tests/qtest/migration/precopy-tests.c +++ b/tests/qtest/migration/precopy-tests.c @@ -1021,11 +1021,12 @@ static void test_dirty_limit(char *name, MigrateCom= mon *args) args->start.use_dirty_ring =3D true; =20 /* Restart dst vm, src vm already show up so we needn't wait anymore */ - if (migrate_start(&from, &to, args->listen_uri, &args->start)) { + if (migrate_start(&from, &to, "defer", &args->start)) { return; } =20 /* Start migrate */ + migrate_incoming_qmp(to, args->listen_uri, NULL, "{}"); migrate_qmp(from, to, args->connect_uri, NULL, "{}"); =20 /* Wait for dirty limit throttle begin */ --=20 2.53.0 From nobody Sat May 30 17:43:30 2026 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1779312952; cv=none; d=zohomail.com; s=zohoarc; b=P1vEAlDi1aPjqBasegv57lcJP4YIo3izlMHhqemO83xS33seUE0CwNeUlp88xJ119HIYZBsQl+scpLmtxYT+iLAFeUYI7gW8vV20E4qUrhYRSL6dWii+pHgeDLrJVxCpdMkVyRe2dql8nuWA7Wol8Apj8wyHyqVWNfGh9c/2b64= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779312952; 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=83YP1CTDB1l8nweWCTL+KtTHSWasfSnrTDsQIEgOH2E=; b=CELTqDQ9Mgu3jhCe96QlvA7ENkI2b+3JoX+0oapF8Dsb4pj9v9sjOnR94Ab72JN42zdVbcsxt8AzcYKTyDjFanQILGy3E3F0LMTl8MmSCFRNtPG0KHbzrlDSlipiFqxX+SoBNVgUOWUVmbZ8o5VTLOnPNrFUiD0Mw9i7suwMj2M= 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=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 177931295242129.142466882796498; Wed, 20 May 2026 14:35:52 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wPoZA-0001vF-5R; Wed, 20 May 2026 17:35:00 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wPoZ8-0001qJ-Nm for qemu-devel@nongnu.org; Wed, 20 May 2026 17:34:58 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wPoZ6-0007MJ-8Y for qemu-devel@nongnu.org; Wed, 20 May 2026 17:34:58 -0400 Received: from mail-qv1-f70.google.com (mail-qv1-f70.google.com [209.85.219.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-460-LdO-kpz1PF6JICxKW-S2Bw-1; Wed, 20 May 2026 17:34:52 -0400 Received: by mail-qv1-f70.google.com with SMTP id 6a1803df08f44-8b1f39c5827so130284866d6.1 for ; Wed, 20 May 2026 14:34:52 -0700 (PDT) Received: from x1.com ([142.189.10.167]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-8ca360b362fsm133062716d6.22.2026.05.20.14.34.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 May 2026 14:34:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1779312895; 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=83YP1CTDB1l8nweWCTL+KtTHSWasfSnrTDsQIEgOH2E=; b=RH0to2asx9n3+R4rvBvW0Lodr7ppn+R54wNJ8zaCTXw1UMPJMmzQJkVl3PZW1deDJmL3g+ U5m73rDshrpRF/+4ns+W8zll1J9gqkeRx73VU2BIaI8sizhIP1oGF1LH5VgoPRQrONi7mB 8CSjakqEF4BisJHThApCtrGBeZN+fh4= X-MC-Unique: LdO-kpz1PF6JICxKW-S2Bw-1 X-Mimecast-MFC-AGG-ID: LdO-kpz1PF6JICxKW-S2Bw_1779312892 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1779312891; x=1779917691; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=83YP1CTDB1l8nweWCTL+KtTHSWasfSnrTDsQIEgOH2E=; b=YhYe9Mit4TTbfMN/Ioc98mc9yeBvVcMzuFdCQBDFm30Y1syonZ0Anq8vh3fgITQnFL I2PeCv0lZVlvt1rEZjv3+zIm79uLbCOYcdCA27JvywogLk4Yva7vfeLndyUNAsjJr8pu wM+0GKdprg2uykxj59gm9eCTTQZmVu2TMa2CPsseM4kqbY0T3ex8UWFfSjh91HaA72LX +mK0t/Ozvf8z/bi0kv8MOJUzymYKN9xzrfw7Uaw5TKoMNZc34+1Gm7CnjenLMFcLzMps 2TAE7G4pEFDk7K3Po9imH/0AnxF94525loaokS3I50gA91ynaGftYCaxtXA8dYDI7HV6 +K0w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779312891; x=1779917691; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=83YP1CTDB1l8nweWCTL+KtTHSWasfSnrTDsQIEgOH2E=; b=k+A577qwzGNlWn675ZvvGpg5gyl3H1aWZEMydLKEuvIBTJbH+4/yZ+cZWEgeOFC4pV 8nf74BOvdrz45+BlaDuzIHW/ZZt8ujpk0rsn3DuI6RJE2E/OuZbm95blBZ2mg5gHs/HL XmhWIENR1ZbLzBX0zpcGlGipKvwcZrI3m8IHXQQvGzgduI1BpmaREt47swVYg7W7UqJ4 4K3uYU6xwjTi3++SDuHnLaQFB2kTTbVd6zFmwc5t9dRaEk0jV/t+Ut6r6RDCnJ3FucDN rnAR3VR3oKj13i3QseMmVxwckZjbeAUG7jE3OzTT1Y/Xhd3P8B1yXP9mazwhosKgt6BO G/cw== X-Gm-Message-State: AOJu0Yx/1cMszpvj2kpHY9bd6Hem4Dt3Icc+XvDjGFYwF5hnHXgy2y+D 38lRrYtZa6+mrBugrsyR6t0xYxOsHm3o4bt5xddiIZuijiG6KFAYz6bSFZm/dEcT/cYNr1HdDk8 dL4qlQEj1dqSmpj4ytsY6tw36YlTYTNsrKJUcN/vACJmhWuuqYKzOaEYL1AeNYaIphPPZqrZj2v s/I4Z/cKVTb2rM0PvWSUpJWTaPWohfpzIsr6m8ZQ== X-Gm-Gg: Acq92OEnn1DDJPXtuNkOUFG+MqYU8lIxoXqkYYruXu8ArS0KMR6eH7YGbsLnQXAXIa3 5PrRgRiB3cw7SDtitSZ8BKITwurFUK/wyywxlYhz9Q0iidERNSZTlBxEbipjHZ2dVm6IjkThW8u xwL93UGbZJ++6wvAq3ngx4XAkv2WiFXzaYo9h50gDZ2hrT9pqROXIgN/B/PMe36kl9xLayMShB8 8K4F62uJr8hnUk8qRCJaLGYwexfwA+0+gV7WP0xOn2lIYI7EoQuM1oVZwC48/+bdpF/PwwYDKqF Fje7T8PIkVwxdMTQWPN8zF9Mxy8T9yDZKynoHJvKGoSQO0fPC1/ABa2rlHcqRMowwXOVIufNS/4 5cXROlISFjnnUw8PfEDBm9BFUxygCDEzF2Pk4+aWjWrsQ X-Received: by 2002:a05:6214:590f:b0:8c7:76cf:5088 with SMTP id 6a1803df08f44-8cc6e205d13mr6190846d6.0.1779312891174; Wed, 20 May 2026 14:34:51 -0700 (PDT) X-Received: by 2002:a05:6214:590f:b0:8c7:76cf:5088 with SMTP id 6a1803df08f44-8cc6e205d13mr6190166d6.0.1779312890419; Wed, 20 May 2026 14:34:50 -0700 (PDT) From: Peter Xu To: qemu-devel@nongnu.org Cc: Fabiano Rosas , Peter Xu , Lukas Straub Subject: [PULL 20/29] tests/qtest/migration: Stop passing URI into migrate_start Date: Wed, 20 May 2026 17:33:48 -0400 Message-ID: <20260520213357.40646-21-peterx@redhat.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260520213357.40646-1-peterx@redhat.com> References: <20260520213357.40646-1-peterx@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=peterx@redhat.com; helo=us-smtp-delivery-124.mimecast.com 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, DKIMWL_WL_HIGH=-0.445, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-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.29 Precedence: list List-Id: qemu development 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: 1779312954052158500 Content-Type: text/plain; charset="utf-8" From: Fabiano Rosas Don't allow changing the default -incoming URI via migrate_start. The default is now -incoming defer. If a test really needs to alter this (such as with CPR), the target_opts variable is still available to change the command line. (aside from the larger goal of using defer, this change is a step towards allowing migrate_start() to be invoked only once for all tests) Signed-off-by: Fabiano Rosas Reviewed-by: Lukas Straub Tested-by: Lukas Straub Reviewed-by: Peter Xu Link: https://lore.kernel.org/r/20260505160915.25558-15-farosas@suse.de Signed-off-by: Peter Xu --- tests/qtest/migration/framework.h | 5 ++--- tests/qtest/migration/colo-tests.c | 2 +- tests/qtest/migration/cpr-tests.c | 6 +++--- tests/qtest/migration/file-tests.c | 3 +-- tests/qtest/migration/framework.c | 17 ++++++++--------- tests/qtest/migration/misc-tests.c | 10 +++++----- tests/qtest/migration/precopy-tests.c | 12 ++++++------ 7 files changed, 26 insertions(+), 29 deletions(-) diff --git a/tests/qtest/migration/framework.h b/tests/qtest/migration/fram= ework.h index 8d5331a860..d7e5db2cfe 100644 --- a/tests/qtest/migration/framework.h +++ b/tests/qtest/migration/framework.h @@ -231,9 +231,8 @@ void wait_for_serial(const char *side); void migrate_prepare_for_dirty_mem(QTestState *from); void migrate_wait_for_dirty_mem(QTestState *from, QTestState *to); =20 -int migrate_args(char **from, char **to, const char *uri, MigrateStart *ar= gs); -int migrate_start(QTestState **from, QTestState **to, const char *uri, - MigrateStart *args); +int migrate_args(char **from, char **to, MigrateStart *args); +int migrate_start(QTestState **from, QTestState **to, MigrateStart *args); void migrate_end(QTestState *from, QTestState *to, bool test_dest); =20 void test_postcopy_common(MigrateCommon *args); diff --git a/tests/qtest/migration/colo-tests.c b/tests/qtest/migration/col= o-tests.c index 4add4a014b..a3d27e7bf6 100644 --- a/tests/qtest/migration/colo-tests.c +++ b/tests/qtest/migration/colo-tests.c @@ -45,7 +45,7 @@ static int test_colo_common(MigrateCommon *args, args->start.caps[MIGRATION_CAPABILITY_RETURN_PATH] =3D true; args->start.caps[MIGRATION_CAPABILITY_X_COLO] =3D true; =20 - if (migrate_start(&from, &to, "defer", &args->start)) { + if (migrate_start(&from, &to, &args->start)) { return -1; } =20 diff --git a/tests/qtest/migration/cpr-tests.c b/tests/qtest/migration/cpr-= tests.c index 9091a84213..fc09dad9c0 100644 --- a/tests/qtest/migration/cpr-tests.c +++ b/tests/qtest/migration/cpr-tests.c @@ -60,7 +60,7 @@ static int test_transfer(MigrateCommon *args, const char = *cpr_channel, obj =3D migrate_str_to_channel(cpr_channel); qlist_append(channels_list, obj); =20 - if (migrate_start(&from, &to, "defer", &args->start)) { + if (migrate_start(&from, &to, &args->start)) { return -1; } =20 @@ -179,7 +179,7 @@ static void set_cpr_exec_args(QTestState *who, MigrateC= ommon *args) */ g_assert(args->start.hide_stderr =3D=3D false); =20 - ret =3D migrate_args(&from_args, &to_args, args->listen_uri, &args->st= art); + ret =3D migrate_args(&from_args, &to_args, &args->start); g_assert(!ret); qtest_from_args =3D qtest_qemu_args(from_args); =20 @@ -230,7 +230,7 @@ static void test_cpr_exec(MigrateCommon *args) g_autofree char *filename =3D g_strdup_printf("%s/%s", tmpfs, FILE_TEST_FILENAME); =20 - if (migrate_start(&from, NULL, "defer", &args->start)) { + if (migrate_start(&from, NULL, &args->start)) { return; } =20 diff --git a/tests/qtest/migration/file-tests.c b/tests/qtest/migration/fil= e-tests.c index 4b6a2eeb7b..36109d30ba 100644 --- a/tests/qtest/migration/file-tests.c +++ b/tests/qtest/migration/file-tests.c @@ -47,8 +47,7 @@ static void test_file_connect_outgoing_fd_leak(char *name= , MigrateCommon *args) return; } =20 - args->listen_uri =3D "defer"; - if (migrate_start(&from, &to, args->listen_uri, &args->start)) { + if (migrate_start(&from, &to, &args->start)) { return; } =20 diff --git a/tests/qtest/migration/framework.c b/tests/qtest/migration/fram= ework.c index b1bf8ea8ae..b92e6b7df1 100644 --- a/tests/qtest/migration/framework.c +++ b/tests/qtest/migration/framework.c @@ -308,7 +308,7 @@ static char *migrate_mem_type_get_opts(MemType type, co= nst char *memory_size) return opts; } =20 -int migrate_args(char **from, char **to, const char *uri, MigrateStart *ar= gs) +int migrate_args(char **from, char **to, MigrateStart *args) { /* options for source and target */ g_autofree gchar *arch_opts =3D NULL; @@ -423,11 +423,11 @@ int migrate_args(char **from, char **to, const char *= uri, MigrateStart *args) "-name target,debug-threads=3Don " "%s " "-serial file:%s/dest_serial " - "-incoming %s " + "-incoming defer " "%s %s %s %s", kvm_opts ? kvm_opts : "", machine, machine_opts, - memory_backend, tmpfs, uri, + memory_backend, tmpfs, events, arch_opts ? arch_opts : "", args->opts_target ? args->opts_target : "= ", @@ -474,8 +474,7 @@ static void migrate_mem_type_cleanup(MemType type) } } =20 -int migrate_start(QTestState **from, QTestState **to, const char *uri, - MigrateStart *args) +int migrate_start(QTestState **from, QTestState **to, MigrateStart *args) { g_autofree gchar *cmd_source =3D NULL; g_autofree gchar *cmd_target =3D NULL; @@ -490,7 +489,7 @@ int migrate_start(QTestState **from, QTestState **to, c= onst char *uri, bootfile_create(qtest_get_arch(), tmpfs, args->suspend_me); src_state.suspend_me =3D args->suspend_me; =20 - if (migrate_args(&cmd_source, &cmd_target, uri, args)) { + if (migrate_args(&cmd_source, &cmd_target, args)) { return -1; } =20 @@ -563,7 +562,7 @@ static int migrate_postcopy_prepare(QTestState **from_p= tr, args->start.caps[MIGRATION_CAPABILITY_POSTCOPY_BLOCKTIME] =3D true; args->start.caps[MIGRATION_CAPABILITY_POSTCOPY_RAM] =3D true; =20 - if (migrate_start(&from, &to, "defer", &args->start)) { + if (migrate_start(&from, &to, &args->start)) { return -1; } =20 @@ -842,7 +841,7 @@ int test_precopy_common(MigrateCommon *args) args->listen_uri =3D "tcp:127.0.0.1:0"; } =20 - if (migrate_start(&from, &to, "defer", &args->start)) { + if (migrate_start(&from, &to, &args->start)) { return -1; } =20 @@ -991,7 +990,7 @@ void test_file_common(MigrateCommon *args, bool stop_sr= c) bool check_offset =3D false; g_autofree char *uri =3D NULL; =20 - if (migrate_start(&from, &to, "defer", &args->start)) { + if (migrate_start(&from, &to, &args->start)) { return; } =20 diff --git a/tests/qtest/migration/misc-tests.c b/tests/qtest/migration/mis= c-tests.c index 8216b5d79d..e5d5fc4959 100644 --- a/tests/qtest/migration/misc-tests.c +++ b/tests/qtest/migration/misc-tests.c @@ -28,7 +28,7 @@ static void test_baddest(char *name, MigrateCommon *args) =20 args->start.hide_stderr =3D true; =20 - if (migrate_start(&from, &to, "defer", &args->start)) { + if (migrate_start(&from, &to, &args->start)) { return; } =20 @@ -54,7 +54,7 @@ static void test_analyze_script(char *name, MigrateCommon= *args) return; } =20 - if (migrate_start(&from, &to, "defer", &args->start)) { + if (migrate_start(&from, &to, &args->start)) { return; } =20 @@ -115,7 +115,7 @@ static void do_test_validate_uuid(MigrateStart *args, b= ool should_fail) g_autofree char *uri =3D g_strdup_printf("unix:%s/migsocket", tmpfs); QTestState *from, *to; =20 - if (migrate_start(&from, &to, "defer", args)) { + if (migrate_start(&from, &to, args)) { return; } =20 @@ -180,7 +180,7 @@ static void do_test_validate_uri_channel(MigrateCommon = *args) QTestState *from, *to; QObject *channels; =20 - if (migrate_start(&from, &to, "defer", &args->start)) { + if (migrate_start(&from, &to, &args->start)) { return; } =20 @@ -234,7 +234,7 @@ static void test_validate_caps_pair(char *test_path, Mi= grateCommon *args) args->start.hide_stderr =3D true; args->start.only_source =3D true; =20 - if (migrate_start(&from, &to, "defer", &args->start)) { + if (migrate_start(&from, &to, &args->start)) { return; } =20 diff --git a/tests/qtest/migration/precopy-tests.c b/tests/qtest/migration/= precopy-tests.c index e915b21712..3161e5f247 100644 --- a/tests/qtest/migration/precopy-tests.c +++ b/tests/qtest/migration/precopy-tests.c @@ -268,7 +268,7 @@ static void test_auto_converge(char *name, MigrateCommo= n *args) int64_t percentage; const int64_t init_pct =3D 5, inc_pct =3D 25, max_pct =3D 95; =20 - if (migrate_start(&from, &to, "defer", &args->start)) { + if (migrate_start(&from, &to, &args->start)) { return; } =20 @@ -414,7 +414,7 @@ static void test_multifd_tcp_cancel(MigrateCommon *args= , bool postcopy_ram) =20 args->start.hide_stderr =3D true; =20 - if (migrate_start(&from, &to, "defer", &args->start)) { + if (migrate_start(&from, &to, &args->start)) { return; } =20 @@ -460,7 +460,7 @@ static void test_multifd_tcp_cancel(MigrateCommon *args= , bool postcopy_ram) =20 args->start.only_target =3D true; =20 - if (migrate_start(&from, &to2, "defer", &args->start)) { + if (migrate_start(&from, &to2, &args->start)) { return; } =20 @@ -634,7 +634,7 @@ static void test_cancel_src_after_status(char *test_pat= h, MigrateCommon *args) =20 args->start.hide_stderr =3D true; =20 - if (migrate_start(&from, &to, "defer", &args->start)) { + if (migrate_start(&from, &to, &args->start)) { return; } =20 @@ -973,7 +973,7 @@ static void test_dirty_limit(char *name, MigrateCommon = *args) args->connect_uri =3D uri; =20 /* Start src, dst vm */ - if (migrate_start(&from, &to, "defer", &args->start)) { + if (migrate_start(&from, &to, &args->start)) { return; } =20 @@ -1021,7 +1021,7 @@ static void test_dirty_limit(char *name, MigrateCommo= n *args) args->start.use_dirty_ring =3D true; =20 /* Restart dst vm, src vm already show up so we needn't wait anymore */ - if (migrate_start(&from, &to, "defer", &args->start)) { + if (migrate_start(&from, &to, &args->start)) { return; } =20 --=20 2.53.0 From nobody Sat May 30 17:43:30 2026 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1779312956; cv=none; d=zohomail.com; s=zohoarc; b=Y+oH8O/Sf/mW+qeL2S6xrRvGqt4ZfXfgfe+EwU42jQwzhtPZ+laNjfJ7dhi2ctAVDV2fmy5B1ZbNq11VKXwbtAslOeTbGABCuQc3oCacwEEkMqEQK9uIIVsQ+YbOCLnqbF76R/bnonb7Ss0w27k245FckbiC93D+yfD6WM+Ro1U= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779312956; 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=F4Y0YhlKsEiszYujT2R1TdtLVmmENx/5453jVasI138=; b=NMp2iPNFAjDTriIUhdrEuw4eeatH7LIEWYCTlhT2eTK/bXRiSkt4F6f35ZhDKLG8ciQ+wkUChWAakFHXquaUpU0Hu13WnHDZOcGrzQlN6BVIds7Faw3YfYwZsn8ViaPoszkoO+/plMLHIcDCb42RIWjly3tFrJuMEisxvMOGWc0= 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=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1779312956552309.58042568912117; Wed, 20 May 2026 14:35:56 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wPoZC-00024M-TT; Wed, 20 May 2026 17:35:02 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wPoZA-0001xl-Jq for qemu-devel@nongnu.org; Wed, 20 May 2026 17:35:00 -0400 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 1wPoZ7-0007MW-PG for qemu-devel@nongnu.org; Wed, 20 May 2026 17:35:00 -0400 Received: from mail-qv1-f69.google.com (mail-qv1-f69.google.com [209.85.219.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-333-7ohsX0x6NJWLBHsxZFZ3Mg-1; Wed, 20 May 2026 17:34:55 -0400 Received: by mail-qv1-f69.google.com with SMTP id 6a1803df08f44-8aca14d1faaso195805956d6.3 for ; Wed, 20 May 2026 14:34:55 -0700 (PDT) Received: from x1.com ([142.189.10.167]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-8ca360b362fsm133062716d6.22.2026.05.20.14.34.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 May 2026 14:34:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1779312897; 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=F4Y0YhlKsEiszYujT2R1TdtLVmmENx/5453jVasI138=; b=OKXRkV+Q/7t4V9xh0anGLx7C7jUqZ8b8vyuTFBhu9m8MCWpM463Thgcl6y2xR5X7nJvQ5u 6n9sN+z+nnpA17ZrW51e0xESOLwEfijicP8PT6pWLOG7tfxUUo7hQN/I9GetyWCcJvq0aI sQVQiZork1lFjq6frKztt+IyfNLVxso= X-MC-Unique: 7ohsX0x6NJWLBHsxZFZ3Mg-1 X-Mimecast-MFC-AGG-ID: 7ohsX0x6NJWLBHsxZFZ3Mg_1779312895 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1779312895; x=1779917695; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=F4Y0YhlKsEiszYujT2R1TdtLVmmENx/5453jVasI138=; b=XR/gIjqLn/n/aeriEk4aKVxLK+Aep5JXe1Oph04X2osL5jwIMRm8eOnQaX+3GhQ1UX OVyLQB78yNZfLQ3QARPKknY1Tmft+twXuLqyIPB2ToHYtixTVsG0qzYerdKxS8bvK3An OeVOrLSZIT29xDdP8lo9c8WitHUlHVeuAfCXJzfVobixfdFRKISAskv4E2s2ZuZvgPA1 53Wm+UNEByvcl63QSToC9VUSqVfcIcJGqHzKfmxEqc+T4S7o3hJkH/3gMFSSGwSnULhF Bnxryu3C9iSOjsatOS5WO/SOh3ON9wQeUNwwzMpzWvoG/uNUK6TkttB+ZwnKPTKKa2gf CAVg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779312895; x=1779917695; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=F4Y0YhlKsEiszYujT2R1TdtLVmmENx/5453jVasI138=; b=skV1mQqa4FzJv1gZQZoA1I1a06ns7WbEZPrTomO2sKayeBcRLw5bhtQS9nQeQKquDr SyP6GmAPeAxtKh2BdOJF2bjxV9/tGlhom6o+jTHTrnGpR1kQjTut0kmbhk1/RVfChX2y 64XrY/lICNj89iB5v3n3mgG8jj0nDTHvpZQXshhM9PMljF8H+1Dw8mcbuERopQeu4iMZ H7uhTgpHZIEWuvwWsazcAjMwp2cGBk0oc1pUte592Z4PT2xdtpshjOffICxt8hxs2vkr 8l2/vOIUFXMmSldXAI9XrP2A8vs9pCzGorDyAYaaOHiw/yWNc2SIINu3T7fO+Q0I55Tf QGNg== X-Gm-Message-State: AOJu0YyNwcrbmAu5NtDRxLluRM9qHXNprMIuijK/TqH7UGKMvDq8JG82 +3k7M6b1ORd5p6u/90ljT179UcUF2sbMclIhEIEvRJI/DndCULXkxpollcdlrqo3AAKXh/oCM5e O6fc9hAn44yhWbp8JSvXjx2jjeJHhQy91KJEO5xlDA59TWiLLGyaIH0mnxTw6EVLk0DvH0ah8nt p344nyK0klPkiRcaP2hrgiUF0lGRp/k2uvjhXx4A== X-Gm-Gg: Acq92OElx9NeRIaCw9DRSgdIE2xI7sq9Fb3P+pCQkmNSxVFu54S1NAKJk1VeS7yTfcw xTyvogzuWluCHpQusvgtsfBtvLobE4qc3D2HCqXdts6A3hp3gDsSnDCgNubz6YPDuCjsgmzNC/v tvRTYTj1XaQG21p6Mb4oJTv7/3GKaq3qIW4jtXnbAp1U5D4mX3moIbOWl+ZKvATqIsNmr4B/kXV DCVi1i7LIDXqoT35u2LzIlyJuGoGMV06+P8UUVhDZCQp/k+rTz4F68+E/qNJ+hmnHmQXnI633S4 HXCjl4XbFN14seCUMHlsMxZJvH1LBWxYLXhFuZF+Kq62JgS7wWtecTZXtdBwsrVyJXnd8TxQlUO Ox9bNKq7cFEVcKzin30QgUmpOmrX7c7+C0lz/SjrODKoq X-Received: by 2002:a05:6214:5c46:b0:89c:8a0f:55a0 with SMTP id 6a1803df08f44-8cc6e3377e4mr4353486d6.16.1779312894674; Wed, 20 May 2026 14:34:54 -0700 (PDT) X-Received: by 2002:a05:6214:5c46:b0:89c:8a0f:55a0 with SMTP id 6a1803df08f44-8cc6e3377e4mr4352886d6.16.1779312894010; Wed, 20 May 2026 14:34:54 -0700 (PDT) From: Peter Xu To: qemu-devel@nongnu.org Cc: Fabiano Rosas , Peter Xu , Lukas Straub Subject: [PULL 21/29] tests/qtest/migration: Unify URIs Date: Wed, 20 May 2026 17:33:49 -0400 Message-ID: <20260520213357.40646-22-peterx@redhat.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260520213357.40646-1-peterx@redhat.com> References: <20260520213357.40646-1-peterx@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=lists1p.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: -24 X-Spam_score: -2.5 X-Spam_bar: -- X-Spam_report: (-2.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.445, 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_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-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.29 Precedence: list List-Id: qemu development 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: 1779312958127154100 Content-Type: text/plain; charset="utf-8" From: Fabiano Rosas The migration tests have always used localhost migration and therefore the same URI for both sides of migration. Change the listen_uri and connect_uri into a single uri variable. For migrations using sockets, there's the possibility of detecting the socket address the destination side is using. For those, keep using different variables for migrate_qmp and migrate_incoming_qmp. Signed-off-by: Fabiano Rosas Reviewed-by: Lukas Straub Tested-by: Lukas Straub Reviewed-by: Peter Xu Link: https://lore.kernel.org/r/20260505160915.25558-16-farosas@suse.de Signed-off-by: Peter Xu --- tests/qtest/migration/framework.h | 14 ++++++------- tests/qtest/migration/colo-tests.c | 8 ++++---- tests/qtest/migration/cpr-tests.c | 6 +++--- tests/qtest/migration/file-tests.c | 10 ++++----- tests/qtest/migration/framework.c | 29 ++++++++++----------------- tests/qtest/migration/misc-tests.c | 4 ++-- tests/qtest/migration/precopy-tests.c | 17 ++++++++-------- tests/qtest/migration/tls-tests.c | 2 +- 8 files changed, 40 insertions(+), 50 deletions(-) diff --git a/tests/qtest/migration/framework.h b/tests/qtest/migration/fram= ework.h index d7e5db2cfe..941cbd7102 100644 --- a/tests/qtest/migration/framework.h +++ b/tests/qtest/migration/framework.h @@ -163,16 +163,14 @@ typedef struct { /* Optional: fine tune start parameters */ MigrateStart start; =20 - /* Required: the URI for the dst QEMU to listen on */ - const char *listen_uri; - /* - * Optional: the URI for the src QEMU to connect to - * If NULL, then it will query the dst QEMU for its actual - * listening address and use that as the connect address. - * This allows for dynamically picking a free TCP port. + * Optional: the migration URI. If NULL, the common code should + * provide a default. For socket migration, the source QEMU may + * query the dst QEMU for the listening address and use that as + * the connection address. This allows for dynamically picking a + * free TCP port. */ - const char *connect_uri; + const char *uri; =20 /* * Optional: JSON-formatted list of src QEMU URIs. If a port is diff --git a/tests/qtest/migration/colo-tests.c b/tests/qtest/migration/col= o-tests.c index a3d27e7bf6..f7f9ba491b 100644 --- a/tests/qtest/migration/colo-tests.c +++ b/tests/qtest/migration/colo-tests.c @@ -55,12 +55,12 @@ static int test_colo_common(MigrateCommon *args, data_hook =3D args->start_hook(from, to); } =20 - migrate_incoming_qmp(to, args->listen_uri, NULL, "{}"); + migrate_incoming_qmp(to, args->uri, NULL, "{}"); =20 migrate_ensure_converge(from); wait_for_serial("src_serial"); =20 - migrate_qmp(from, to, args->connect_uri, NULL, "{}"); + migrate_qmp(from, to, NULL, NULL, "{}"); =20 wait_for_migration_status(from, "colo", NULL); wait_for_resume(to, get_dst()); @@ -105,7 +105,7 @@ static void test_colo_plain_common(MigrateCommon *args, bool failover_during_checkpoint, bool primary_failover) { - args->listen_uri =3D "tcp:127.0.0.1:0"; + args->uri =3D "tcp:127.0.0.1:0"; test_colo_common(args, failover_during_checkpoint, primary_failover); } =20 @@ -113,7 +113,7 @@ static void test_colo_multifd_common(MigrateCommon *arg= s, bool failover_during_checkpoint, bool primary_failover) { - args->listen_uri =3D "tcp:127.0.0.1:0"; + args->uri =3D "tcp:127.0.0.1:0"; args->start.caps[MIGRATION_CAPABILITY_MULTIFD] =3D true; test_colo_common(args, failover_during_checkpoint, primary_failover); } diff --git a/tests/qtest/migration/cpr-tests.c b/tests/qtest/migration/cpr-= tests.c index fc09dad9c0..0bec753b4a 100644 --- a/tests/qtest/migration/cpr-tests.c +++ b/tests/qtest/migration/cpr-tests.c @@ -35,7 +35,7 @@ static void test_mode_reboot(char *name, MigrateCommon *a= rgs) g_autofree char *uri =3D g_strdup_printf("file:%s/%s", tmpfs, FILE_TEST_FILENAME); =20 - args->connect_uri =3D uri; + args->uri =3D uri; args->start_hook =3D migrate_hook_start_mode_reboot; =20 args->start.mem_type =3D MEM_TYPE_SHMEM; @@ -226,7 +226,7 @@ static void test_cpr_exec(MigrateCommon *args) { QTestState *from, *to; void *data_hook =3D NULL; - g_autofree char *connect_uri =3D g_strdup(args->connect_uri); + g_autofree char *connect_uri =3D g_strdup(args->uri); g_autofree char *filename =3D g_strdup_printf("%s/%s", tmpfs, FILE_TEST_FILENAME); =20 @@ -280,7 +280,7 @@ static void test_mode_exec(char *name, MigrateCommon *a= rgs) { g_autofree char *uri =3D g_strdup_printf("file:%s/%s", tmpfs, FILE_TEST_FILENAME); - args->connect_uri =3D uri; + args->uri =3D uri; args->start_hook =3D test_mode_exec_start; =20 args->start.only_source =3D true; diff --git a/tests/qtest/migration/file-tests.c b/tests/qtest/migration/fil= e-tests.c index 36109d30ba..5118d9dec9 100644 --- a/tests/qtest/migration/file-tests.c +++ b/tests/qtest/migration/file-tests.c @@ -107,7 +107,7 @@ static void test_precopy_file_offset_fdset(char *name, = MigrateCommon *args) { g_autofree char *uri =3D g_strdup_printf("file:/dev/fdset/1,offset=3D%= d", FILE_TEST_OFFSET); - args->connect_uri =3D uri; + args->uri =3D uri; args->start_hook =3D migrate_hook_start_file_offset_fdset; =20 test_file_common(args, false); @@ -120,7 +120,7 @@ static void test_precopy_file_offset(char *name, Migrat= eCommon *args) FILE_TEST_FILENAME, FILE_TEST_OFFSET); =20 - args->connect_uri =3D uri; + args->uri =3D uri; test_file_common(args, false); } =20 @@ -130,7 +130,7 @@ static void test_precopy_file_offset_bad(char *name, Mi= grateCommon *args) g_autofree char *uri =3D g_strdup_printf("file:%s/%s,offset=3D0x20M", tmpfs, FILE_TEST_FILENAME); =20 - args->connect_uri =3D uri; + args->uri =3D uri; args->result =3D MIG_TEST_QMP_ERROR; =20 test_file_common(args, false); @@ -247,7 +247,7 @@ static void test_multifd_file_mapped_ram_fdset(char *na= me, MigrateCommon *args) g_autofree char *uri =3D g_strdup_printf("file:/dev/fdset/1,offset=3D%= d", FILE_TEST_OFFSET); =20 - args->connect_uri =3D uri; + args->uri =3D uri; args->start_hook =3D migrate_hook_start_multifd_mapped_ram_fdset; args->end_hook =3D migrate_hook_end_multifd_mapped_ram_fdset; =20 @@ -262,7 +262,7 @@ static void test_multifd_file_mapped_ram_fdset_dio(char= *name, { g_autofree char *uri =3D g_strdup_printf("file:/dev/fdset/1,offset=3D%= d", FILE_TEST_OFFSET); - args->connect_uri =3D uri; + args->uri =3D uri; args->start_hook =3D migrate_hook_start_multifd_mapped_ram_fdset_dio; args->end_hook =3D migrate_hook_end_multifd_mapped_ram_fdset; =20 diff --git a/tests/qtest/migration/framework.c b/tests/qtest/migration/fram= ework.c index b92e6b7df1..a9b58d03aa 100644 --- a/tests/qtest/migration/framework.c +++ b/tests/qtest/migration/framework.c @@ -832,14 +832,7 @@ int test_precopy_common(MigrateCommon *args) QTestState *from, *to; void *data_hook =3D NULL; QObject *channels =3D NULL; - - assert(!args->connect_uri); - - if (args->listen_uri) { - args->connect_uri =3D args->listen_uri; - } else { - args->listen_uri =3D "tcp:127.0.0.1:0"; - } + const char *listen_uri =3D args->uri ?: "tcp:127.0.0.1:0"; =20 if (migrate_start(&from, &to, &args->start)) { return -1; @@ -849,7 +842,7 @@ int test_precopy_common(MigrateCommon *args) data_hook =3D args->start_hook(from, to); } =20 - migrate_incoming_qmp(to, args->listen_uri, NULL, "{}"); + migrate_incoming_qmp(to, listen_uri, NULL, "{}"); =20 /* Wait for the first serial output from the source */ if (args->result =3D=3D MIG_TEST_SUCCEED) { @@ -879,11 +872,11 @@ int test_precopy_common(MigrateCommon *args) } =20 if (args->result =3D=3D MIG_TEST_QMP_ERROR) { - migrate_qmp_fail(from, args->connect_uri, channels, "{}"); + migrate_qmp_fail(from, args->uri, channels, "{}"); goto finish; } =20 - migrate_qmp(from, to, args->connect_uri, channels, "{}"); + migrate_qmp(from, to, args->uri, channels, "{}"); =20 if (args->result !=3D MIG_TEST_SUCCEED) { bool allow_active =3D args->result =3D=3D MIG_TEST_FAIL; @@ -947,7 +940,7 @@ void test_precopy_unix_common(MigrateCommon *args) { g_autofree char *uri =3D g_strdup_printf("unix:%s/migsocket", tmpfs); =20 - args->listen_uri =3D uri; + args->uri =3D uri; test_precopy_common(args); } =20 @@ -994,9 +987,9 @@ void test_file_common(MigrateCommon *args, bool stop_sr= c) return; } =20 - if (!args->connect_uri) { + if (!args->uri) { uri =3D g_strdup_printf("file:%s/%s", tmpfs, FILE_TEST_FILENAME); - args->connect_uri =3D uri; + args->uri =3D uri; } =20 /* @@ -1006,7 +999,7 @@ void test_file_common(MigrateCommon *args, bool stop_s= rc) */ g_assert_false(args->live); =20 - if (g_strrstr(args->connect_uri, "offset=3D")) { + if (g_strrstr(args->uri, "offset=3D")) { check_offset =3D true; /* * This comes before the start_hook because it's equivalent to @@ -1029,18 +1022,18 @@ void test_file_common(MigrateCommon *args, bool sto= p_src) } =20 if (args->result =3D=3D MIG_TEST_QMP_ERROR) { - migrate_qmp_fail(from, args->connect_uri, NULL, "{}"); + migrate_qmp_fail(from, args->uri, NULL, "{}"); goto finish; } =20 - migrate_qmp(from, to, args->connect_uri, NULL, "{}"); + migrate_qmp(from, to, args->uri, NULL, "{}"); wait_for_migration_complete(from); =20 /* * We need to wait for the source to finish before starting the * destination. */ - migrate_incoming_qmp(to, args->connect_uri, NULL, "{}"); + migrate_incoming_qmp(to, args->uri, NULL, "{}"); wait_for_migration_complete(to); =20 if (stop_src) { diff --git a/tests/qtest/migration/misc-tests.c b/tests/qtest/migration/mis= c-tests.c index e5d5fc4959..ec6d438cdc 100644 --- a/tests/qtest/migration/misc-tests.c +++ b/tests/qtest/migration/misc-tests.c @@ -196,7 +196,7 @@ static void do_test_validate_uri_channel(MigrateCommon = *args) channels =3D args->connect_channels ? qobject_from_json(args->connect_channels, &error_abort) : NULL; - migrate_qmp_fail(from, args->connect_uri, channels, "{}"); + migrate_qmp_fail(from, args->uri, channels, "{}"); =20 migrate_end(from, to, false); } @@ -252,7 +252,7 @@ static void test_validate_caps_pair(char *test_path, Mi= grateCommon *args) =20 static void test_validate_uri_channels_both_set(char *name, MigrateCommon = *args) { - args->connect_uri =3D "tcp:127.0.0.1:0", + args->uri =3D "tcp:127.0.0.1:0", args->connect_channels =3D ("[ { ""'channel-type': 'main'," " 'addr': { 'transport': 'socket'," " 'type': 'inet'," diff --git a/tests/qtest/migration/precopy-tests.c b/tests/qtest/migration/= precopy-tests.c index 3161e5f247..a23d51126b 100644 --- a/tests/qtest/migration/precopy-tests.c +++ b/tests/qtest/migration/precopy-tests.c @@ -161,7 +161,7 @@ static void __test_precopy_rdma_plain(MigrateCommon *ar= gs, bool ipv6) **/ g_autofree char *uri =3D g_strdup_printf("rdma:%s:29200", buffer); =20 - args->listen_uri =3D uri; + args->uri =3D uri; =20 test_precopy_common(args); } @@ -253,7 +253,7 @@ static void migrate_hook_end_fd(QTestState *from, =20 static void test_precopy_fd_socket(char *name, MigrateCommon *args) { - args->listen_uri =3D "fd:fd-mig"; + args->uri =3D "fd:fd-mig"; args->start_hook =3D migrate_hook_start_fd; args->end_hook =3D migrate_hook_end_fd; =20 @@ -970,7 +970,7 @@ static void test_dirty_limit(char *name, MigrateCommon = *args) args->start.hide_stderr =3D true; args->start.use_dirty_ring =3D true; =20 - args->connect_uri =3D uri; + args->uri =3D uri; =20 /* Start src, dst vm */ if (migrate_start(&from, &to, &args->start)) { @@ -981,8 +981,8 @@ static void test_dirty_limit(char *name, MigrateCommon = *args) migrate_dirty_limit_wait_showup(from, dirtylimit_period, dirtylimit_va= lue); =20 /* Start migrate */ - migrate_incoming_qmp(to, args->connect_uri, NULL, "{}"); - migrate_qmp(from, to, args->connect_uri, NULL, "{}"); + migrate_incoming_qmp(to, args->uri, NULL, "{}"); + migrate_qmp(from, to, args->uri, NULL, "{}"); =20 /* Wait for dirty limit throttle begin */ throttle_us_per_full =3D 0; @@ -1014,8 +1014,7 @@ static void test_dirty_limit(char *name, MigrateCommo= n *args) /* Assert dirty limit is not in service */ g_assert_cmpint(throttle_us_per_full, =3D=3D, 0); =20 - args->listen_uri =3D uri; - args->connect_uri =3D uri; + args->uri =3D uri; =20 args->start.only_target =3D true; args->start.use_dirty_ring =3D true; @@ -1026,8 +1025,8 @@ static void test_dirty_limit(char *name, MigrateCommo= n *args) } =20 /* Start migrate */ - migrate_incoming_qmp(to, args->listen_uri, NULL, "{}"); - migrate_qmp(from, to, args->connect_uri, NULL, "{}"); + migrate_incoming_qmp(to, args->uri, NULL, "{}"); + migrate_qmp(from, to, args->uri, NULL, "{}"); =20 /* Wait for dirty limit throttle begin */ throttle_us_per_full =3D 0; diff --git a/tests/qtest/migration/tls-tests.c b/tests/qtest/migration/tls-= tests.c index f45f4c4b0c..827cc7bcf8 100644 --- a/tests/qtest/migration/tls-tests.c +++ b/tests/qtest/migration/tls-tests.c @@ -436,7 +436,7 @@ static void test_precopy_unix_tls_x509_default_host(cha= r *name, { g_autofree char *uri =3D g_strdup_printf("unix:%s/migsocket", tmpfs); =20 - args->listen_uri =3D uri; + args->uri =3D uri; args->start_hook =3D migrate_hook_start_tls_x509_default_host; args->end_hook =3D migrate_hook_end_tls_x509; args->result =3D MIG_TEST_FAIL; --=20 2.53.0 From nobody Sat May 30 17:43:30 2026 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1779312931; cv=none; d=zohomail.com; s=zohoarc; b=Ei7oeAsp7LFzwxRYLn1/knouzqsNQAS5z6B2upNfm/HNMq+mDFhB4cLU5mJgENrfAlslnum+bz9qTcGrlpdGPHyZ+i4dfRuHT6pXNnLZ/+VZ+YtA/Z9jV4mCWuGzPvOrqHo6ERpcNQEY/xK5Zk6RN6TzLqQNAROI/YxJFar+akI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779312931; 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=8TylKlVXWNtUVl8Uzn5nHhOOFc5t1shMCS/NhQwh3Ug=; b=Ws0CYb/Dk+hZpRxHlsXv7uK0yY0H0iFeA3G/p/DgGwprHsmx2WLQ626/CmLO4N0EfsNbM3gnwePuYsnsyDbsieWUbykAm44pvrrHePgJrW/o5HcZGSg97/FsRxRL1r6xPjouVtxaVt4KmQDaAlApv3CvmcoZUuZWcyHg5K1oJaE= 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=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1779312931494971.6898757868162; Wed, 20 May 2026 14:35:31 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wPoZC-00024G-L4; Wed, 20 May 2026 17:35:02 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wPoZA-0001zE-Uz for qemu-devel@nongnu.org; Wed, 20 May 2026 17:35:00 -0400 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 1wPoZ9-0007Mh-G0 for qemu-devel@nongnu.org; Wed, 20 May 2026 17:35:00 -0400 Received: from mail-qv1-f69.google.com (mail-qv1-f69.google.com [209.85.219.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-195-VJxM0GksMRSh2WAJG8c1cA-1; Wed, 20 May 2026 17:34:57 -0400 Received: by mail-qv1-f69.google.com with SMTP id 6a1803df08f44-8acb85a973cso23117546d6.3 for ; Wed, 20 May 2026 14:34:57 -0700 (PDT) Received: from x1.com ([142.189.10.167]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-8ca360b362fsm133062716d6.22.2026.05.20.14.34.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 May 2026 14:34:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1779312898; 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=8TylKlVXWNtUVl8Uzn5nHhOOFc5t1shMCS/NhQwh3Ug=; b=aCWJRuJMB0UnmAn5RV1ofAC6Z3xAllAwAW7NoQh9rF9nE4Qdc0wA64gmFu4TVXHc2ZT/x9 Lw/rqzxtClW26DXeSfYgCW9EbHj5aHmcQmFL0nszsRXrPU1tQGDi0uA2Flr9q/54lfSA8W nU5W/OeuXEjI8e/WqWajBDLpScvVvDw= X-MC-Unique: VJxM0GksMRSh2WAJG8c1cA-1 X-Mimecast-MFC-AGG-ID: VJxM0GksMRSh2WAJG8c1cA_1779312896 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1779312896; x=1779917696; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=8TylKlVXWNtUVl8Uzn5nHhOOFc5t1shMCS/NhQwh3Ug=; b=ZIHhxV0cO+qhwxCCU53YS9k1WGYNLrfwje9+KOqUEkcuqlprpEdKxnnxP9RVv/VrRr bkko4BJeEAKO9b0knlFV20lwhP1EOfScPE5sSoG8kmFq0B/dx+NeLgSZrZlXH4RWI25w tpisCR/JMn8aO/ZM/nPPcSURQpNBalKADpbq/fkUlMhzaElJ+0vDxLkEtzpDhq3N4Ahf djRvB9WIlpL27y/eofHsQBXKYpN0ynONboiTIbwCYPrydKYpljrUs43BiXuW0y7iAeAk +SeCwKi29oaG4bjSg9gZ4v9xsq7l0seovyeWLHaRgwh7YREppNcTud5QRXWJEERvlJcc HYcw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779312896; x=1779917696; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=8TylKlVXWNtUVl8Uzn5nHhOOFc5t1shMCS/NhQwh3Ug=; b=Dx2RwclSIjB9CXd79lIxZHPzm3WsBSxHNWN/jASK2rxycjlBMaN44noUfhp8jge3Xb sYbuobdovKk5NAV6VsOL0GTrxllZX6knNUyMHvC3caV7oID0ZWhDNzz40WQwMX6NMn3q iGOeBrpU4dbAN+K0kXY+UTgdVHZwBhHV+ArFR1fta9bGe79U4j4jpkp9wBi0/S4GROeD BAdFJHpkOyAwy5uWbiMDEPCobJPUpqBuBVpCzXPBVTT9WhDGScAJI0S/45be578xpiYU JtyoUPjTaWqK2JnOPTSmpDtoE+oshAe21pUhERQ6DoJHes9WdK6I8sP/bJzMHB72OAcX sczA== X-Gm-Message-State: AOJu0YwQZqmb/54Fl89049K+1MAe+aPbGzVbNVbOoe0YRcz2NQMWIlqq 1obfnB0zlSh30EkSB1kxG+y10WXrkYbHTlhBOhMzc9UGy6pIktWBpX8IZ0f+ACb9doLUS4THkHq rAzUekcBEF95409huonEk5G8TQLS9a/Ygn4XqAnJG6w/lsK5Cndy6Fp7KDpycOqvQ1cRRcFtqrm OmY8iS74UX35eM0l4F9l8hn27rWtFHKf0FyxfIYA== X-Gm-Gg: Acq92OHqTe4NYwZdArJqa2asKL4ubTP82T3WyOEdclrmu8CJIvRBH+FizyGRuC0qgQ6 7YnufEx06KGJosmwNdnm64tQP+sIwvwqGLdODUEqCd+CcZzO6vLNPAcTkEXPAjQ9pW7aoEPiTbb zbge+54Ps0IAVLKRXtUn8g+/EUDRerAGO6kzgij8KJO8RdcGrn+jWA/tljdIvWHwRnbo234wFC/ L0cYAa05q/SvMXlGnqKCReUDHj1kkzuKx37FJnw89odpxkC9UeVM0i5LYLD6wqlsCrlkVHNYaXv vfW2RonNYpWtfV8gQwzTWqyteclrGcwUntjnfcYhyEWGeK7F078Gu8puGm3csdCUX3ZSePZUomz mDTOKuMBy3TKLwVEYpbOydouZfuKX+6XiZUmmNgmcomuJ X-Received: by 2002:a05:6214:5094:b0:8ac:a744:7789 with SMTP id 6a1803df08f44-8cc6e2d3304mr4755486d6.5.1779312896525; Wed, 20 May 2026 14:34:56 -0700 (PDT) X-Received: by 2002:a05:6214:5094:b0:8ac:a744:7789 with SMTP id 6a1803df08f44-8cc6e2d3304mr4754986d6.5.1779312895913; Wed, 20 May 2026 14:34:55 -0700 (PDT) From: Peter Xu To: qemu-devel@nongnu.org Cc: Fabiano Rosas , Peter Xu , Bin Guo Subject: [PULL 22/29] migration/global_state: replace strcpy("") with explicit NUL termination Date: Wed, 20 May 2026 17:33:50 -0400 Message-ID: <20260520213357.40646-23-peterx@redhat.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260520213357.40646-1-peterx@redhat.com> References: <20260520213357.40646-1-peterx@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=lists1p.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: -24 X-Spam_score: -2.5 X-Spam_bar: -- X-Spam_report: (-2.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.445, 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_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-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.29 Precedence: list List-Id: qemu development 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: 1779312933623154100 Content-Type: text/plain; charset="utf-8" From: Bin Guo Drop the unnecessary strcpy of an empty literal (and its spurious (char *)& cast) in favor of a direct NUL store, which avoids the libc call and hides no bugs behind a cast. Signed-off-by: Bin Guo Reviewed-by: Fabiano Rosas Link: https://lore.kernel.org/r/20260518110112.21395-3-guobin@linux.alibaba= .com Signed-off-by: Peter Xu --- migration/global_state.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/migration/global_state.c b/migration/global_state.c index c1f90fce0f..91fefdf525 100644 --- a/migration/global_state.c +++ b/migration/global_state.c @@ -148,7 +148,7 @@ static const VMStateDescription vmstate_globalstate =3D= { void register_global_state(void) { /* We would use it independently that we receive it */ - strcpy((char *)&global_state.runstate, ""); + global_state.runstate[0] =3D '\0'; global_state.received =3D false; vmstate_register(NULL, 0, &vmstate_globalstate, &global_state); } --=20 2.53.0 From nobody Sat May 30 17:43:30 2026 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1779313079; cv=none; d=zohomail.com; s=zohoarc; b=bR5s+EAgcDOXKxA8q6ZCSo7iAMNteCYPRQnQJnUW+yFUCmKseepWqKfqpefhYG6tbXrFvsuU1FKyGnyLY1vDF/FTIxHyZXN6N3g33DGmQVsp64YlbOtYaC75CoAt6g9C8uZpDCI9SIyI6mCl2fAxiek7YWuIF+58v1+8MLYdr6M= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779313079; 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=Vml5oXTZ9MrvSa1XsBg97dBeXhlvCAKh8L30LlX7siE=; b=Tai7NNwD4pyxnCHYzoWvkNGUEuK6DV6jzKavB1ERjhMeezHCHp7lzdaCMj+kOyO0NFDlz/ysq/xQmZAfOjOJXUWC4/p2N3b52mzlePkTOwWDm+6vG6A0gq+PcYwWM3JMmIQpWYWUIixLym131T3FiI4KTVR6JWQpHZLJPH5VNfk= 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=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 17793130792861021.124935013025; Wed, 20 May 2026 14:37:59 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wPoZG-00026q-87; Wed, 20 May 2026 17:35:06 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wPoZD-00025A-Se for qemu-devel@nongnu.org; Wed, 20 May 2026 17:35:03 -0400 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 1wPoZB-0007ND-Tp for qemu-devel@nongnu.org; Wed, 20 May 2026 17:35:03 -0400 Received: from mail-qt1-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-433-rhWMDk74PMebnlhkm2-KGw-1; Wed, 20 May 2026 17:34:59 -0400 Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-5162ee45a77so140809141cf.1 for ; Wed, 20 May 2026 14:34:59 -0700 (PDT) Received: from x1.com ([142.189.10.167]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-8ca360b362fsm133062716d6.22.2026.05.20.14.34.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 May 2026 14:34:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1779312901; 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=Vml5oXTZ9MrvSa1XsBg97dBeXhlvCAKh8L30LlX7siE=; b=GYW6oWfHHNtGnFvqhh6G6NvV+1Q1vSWZJR8cZSkjNxZFWpx7mRrzDa5SvxprnfBQkbErnC bwt2mN04fUu8DJI+rV9x9aq9Gp65tE9Sh7wDlqQqg9G7B+GifQiBZzhUKxp+P/WEJNKvyr 8/ACy9LMCYqmch2h+sHg0qBHhXA/GRM= X-MC-Unique: rhWMDk74PMebnlhkm2-KGw-1 X-Mimecast-MFC-AGG-ID: rhWMDk74PMebnlhkm2-KGw_1779312899 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1779312899; x=1779917699; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Vml5oXTZ9MrvSa1XsBg97dBeXhlvCAKh8L30LlX7siE=; b=lTffJxlYyPoLj57fHVh82di+Duh3OW/1J5L5PvjeGgGa7j++yrFvRDWwVPZbfqXj/k /ZGlSpuJHMpmGNXzENH8nnxOha2cKgV/KozrSB3cImQJHgaxTzfL6MD92AsHT90PqNxG 2B2nZG9s8wTdDHg4Ubd7c2rtBKrBmcTQQ0W4vTjWgbc6soaGAuoCziLZEQRDWXRkupeQ 4kLpvI4BTU4jMmjGvngpVkom4KqvzlpGMzeL2dfo4muXTodz1BkfmI42j3vB0KmJkKfF sDM66nu0nRfqspQaiuzcu6RBT/c9fTvu88x0hxR848F2yZiUJ6/dM/X+eHHSxacFcOTd Pxvw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779312899; x=1779917699; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=Vml5oXTZ9MrvSa1XsBg97dBeXhlvCAKh8L30LlX7siE=; b=hSiefdpoEq2rXgH4AkptQfg6xctZ1AWHJqFa76iW2qg0vNIqaGHJzizvAPw4ST8gWH 2bmSoJVw4JZsQcqmaDeEOd8M717xqoNSUcFhPB9yXWB3upPeY66YD03CCAFLrymL8GCe 6zjgi/X6snE/J/51hAo/48HCw4R2XiTeVB7op3x5OxYSjJ9obharBrBBhwPc2W+/NfNx ObDx9GP0lFIVomizc8SrdGNLLoUbmIgOskNUmVIgAhpkug+PMGgQc2rIsjgmO5LrhNeR JORNQzqR7zyTFUb7w6mZRT6O57O6mWZ+aM96ZM/sVLoUgssgjeRPrCgJuhO9HlwT+clz j3Cw== X-Gm-Message-State: AOJu0Yx4WLO4jS0IisZPKGbNjaf6I+eV0s4NiCwuvhoVzHC59o2nN4tV GPThsyrMw8kVdcGUUKY71YToFEnjZ8g/pKo84HgFy87petdoo+sRg8iBHvyum/yLyq7MjiS5aNu rAwuLRuoQpttRc4kbMIDKJBxrrHqms6S8/S0UtoHRIIZz5rjISSmhgzmlcs5ZjA5AjkDG7LCyJN aXA09ikloVO7kFXWJAXaH+mZ/C+fCNrefTfJX46w== X-Gm-Gg: Acq92OGTP/OZy3iaL5W0i3hRQDPH99XGQD36C6BtLZn5wq1WknZKYMuxESDiGDuFkh4 6niQ/BA57bqlY/kIUjc/Vd309usctuzxqbeq98jRZHxQUXCbqIegrxghx3hiChhjWp0UEp7kEzz mqwJgkbiqTLPg5Oanx7L+v2KPyFXmwWId17vsd8a9OpLDkEJoWNdXXLPbjR7cDTiMm3PYghlmpq rkwZ99pIpdLXYL8quFvDNArdHUi0rai+CV8h3elRCIvPNcFVsnwbuYY6TAbeYJK6fIDdgIeK5kD qu2Dp7bv5/kNLGc/LZ60YFx6QTdNQU6D8IqBA1gf/lABn5ZLmox69+ds0uPUSeFAKIFAxDsOjfi 2lGpVuv4KxhFJvB6CNai5GAvX47KuM0P+W2Vp0wFCYkej X-Received: by 2002:a05:622a:5cc:b0:50b:4b2f:1606 with SMTP id d75a77b69052e-516c54339efmr4169451cf.15.1779312898656; Wed, 20 May 2026 14:34:58 -0700 (PDT) X-Received: by 2002:a05:622a:5cc:b0:50b:4b2f:1606 with SMTP id d75a77b69052e-516c54339efmr4168821cf.15.1779312897926; Wed, 20 May 2026 14:34:57 -0700 (PDT) From: Peter Xu To: qemu-devel@nongnu.org Cc: Fabiano Rosas , Peter Xu , Bin Guo Subject: [PULL 23/29] migration/vmstate: avoid per-element heap churn in vmsd ptr marker field Date: Wed, 20 May 2026 17:33:51 -0400 Message-ID: <20260520213357.40646-24-peterx@redhat.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260520213357.40646-1-peterx@redhat.com> References: <20260520213357.40646-1-peterx@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=lists1p.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: -24 X-Spam_score: -2.5 X-Spam_bar: -- X-Spam_report: (-2.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.445, 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_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-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.29 Precedence: list List-Id: qemu development 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: 1779313080969158500 Content-Type: text/plain; charset="utf-8" From: Bin Guo For every NULL slot in a VMS_ARRAY_OF_POINTER (or every entry of a dynamic array), the saver allocates a 1-element fake VMStateField via g_new0 and frees it again right after the save. For arrays of thousands of entries this is thousands of malloc/free pairs on the hot save path. Replace the heap-allocated marker with a stack-resident field populated by an init helper. The caller passes a pointer to a local VMStateField, the helper fills it in (still asserting the precondition), and no g_free is needed. Signed-off-by: Bin Guo Reviewed-by: Fabiano Rosas Link: https://lore.kernel.org/r/20260518110112.21395-4-guobin@linux.alibaba= .com Signed-off-by: Peter Xu --- migration/vmstate.c | 41 ++++++++++++++++------------------------- 1 file changed, 16 insertions(+), 25 deletions(-) diff --git a/migration/vmstate.c b/migration/vmstate.c index 6fa7523f04..50ebe37845 100644 --- a/migration/vmstate.c +++ b/migration/vmstate.c @@ -59,29 +59,23 @@ vmstate_field_exists(const VMStateDescription *vmsd, co= nst VMStateField *field, * array of a VMS_ARRAY_OF_POINTER VMSD field. It's needed because we * can't dereference the NULL pointer. */ -static const VMStateField * -vmsd_create_ptr_marker_field(const VMStateField *field) +static void +vmsd_init_ptr_marker_field(VMStateField *fake, const VMStateField *field) { - VMStateField *fake =3D g_new0(VMStateField, 1); - /* It can only happen on an array of pointers! */ assert(field->flags & VMS_ARRAY_OF_POINTER); =20 - /* Some of fake's properties should match the original's */ - fake->name =3D field->name; - fake->version_id =3D field->version_id; - - /* Do not need "field_exists" check as it always exists */ - fake->field_exists =3D NULL; - - /* See vmstate_info_ptr_marker - use 1 byte to represent ptr status */ - fake->size =3D 1; - fake->info =3D &vmstate_info_ptr_marker; - fake->flags =3D VMS_SINGLE; - - /* All the rest fields shouldn't matter.. */ - - return (const VMStateField *)fake; + /* See vmstate_info_ptr_marker - 1 byte represents ptr status */ + *fake =3D (VMStateField) { + .name =3D field->name, + .version_id =3D field->version_id, + /* Marker always exists, no field_exists callback needed */ + .field_exists =3D NULL, + .size =3D 1, + .info =3D &vmstate_info_ptr_marker, + .flags =3D VMS_SINGLE, + /* All other fields stay zero-initialised */ + }; } =20 static int vmstate_n_elems(void *opaque, const VMStateField *field) @@ -676,6 +670,7 @@ static bool vmstate_save_vmsd_v(QEMUFile *f, const VMSt= ateDescription *vmsd, for (i =3D 0; i < n_elems; i++) { void *curr_elem =3D first_elem + size * i; const VMStateField *inner_field; + VMStateField marker_field; /* maximum number of elements to compress in the JSON blob= */ int max_elems =3D vmsd_can_compress(field) ? (n_elems - i)= : 1; bool use_marker_field, is_null =3D false; @@ -689,7 +684,8 @@ static bool vmstate_save_vmsd_v(QEMUFile *f, const VMSt= ateDescription *vmsd, use_marker_field =3D use_dynamic_array || is_null; =20 if (use_marker_field) { - inner_field =3D vmsd_create_ptr_marker_field(field); + vmsd_init_ptr_marker_field(&marker_field, field); + inner_field =3D &marker_field; } else { inner_field =3D field; } @@ -726,11 +722,6 @@ static bool vmstate_save_vmsd_v(QEMUFile *f, const VMS= tateDescription *vmsd, inner_field, vmdesc_lo= op, i, max_elems, errp); =20 - /* If we used a fake temp field.. free it now */ - if (use_marker_field) { - g_clear_pointer((gpointer *)&inner_field, g_free); - } - if (!ok) { goto out; } --=20 2.53.0 From nobody Sat May 30 17:43:30 2026 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1779313057; cv=none; d=zohomail.com; s=zohoarc; b=LE6NhLv6NgVUW58HzXXLwfIv7QTl6xdjICbdakyA8RMKuk1zViMtP7gQHwK6okC90WGpIii2h5T8dfykRQp+6m7mPrlJIJN0GKT9CthRTt/agUhLQWaJh8pXqP6pBCrzrYLrIspg32EQCB1HyNQNO3Pxw4s0J5zCbQEH9MtznFA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779313057; 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=ww+L13ede0UXhmY2UazMQx/EusMUshqnbpbJrwfXvmQ=; b=Z69Osxg+vwMC2C/IhYCufaGeW3NrzMuj7kQyincR0roizPiVVAC8kfJAR46XC1EA4K+OlQ4/OiMBFGXrqAkyg5FDXNnba1jSLvNqrwD4TLJ6MtPKIqNV4T/vdVSY2b6/gf6FSGutclBV/uslKCLsNebpkAAKH4FsqVW1U1qIcYw= 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=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1779313057545847.4213790097533; Wed, 20 May 2026 14:37:37 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wPoZG-00028Q-NV; Wed, 20 May 2026 17:35:06 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wPoZF-00025x-7U for qemu-devel@nongnu.org; Wed, 20 May 2026 17:35:05 -0400 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 1wPoZD-0007R8-H5 for qemu-devel@nongnu.org; Wed, 20 May 2026 17:35:04 -0400 Received: from mail-qv1-f72.google.com (mail-qv1-f72.google.com [209.85.219.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-497-8icP_BXeMlCejOqUQumzpA-1; Wed, 20 May 2026 17:35:01 -0400 Received: by mail-qv1-f72.google.com with SMTP id 6a1803df08f44-8acadca1ac4so78742346d6.0 for ; Wed, 20 May 2026 14:35:01 -0700 (PDT) Received: from x1.com ([142.189.10.167]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-8ca360b362fsm133062716d6.22.2026.05.20.14.34.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 May 2026 14:34:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1779312902; 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=ww+L13ede0UXhmY2UazMQx/EusMUshqnbpbJrwfXvmQ=; b=CfmQY+v7JjZj/ysfMYO0U+h44ti6ksifFoJudmXlR42xBKpeRlh8CoMWd6kC3cA017GLN6 wJ2M4/7YGldGxJV1xtJ5VdL40SA1RbqUjxIihHE2yYoSEcCO2UF5AJ28c6slIXiKuLY3dR yJal3KcPvZFw8H6ViDQH5bN9OIHuCHo= X-MC-Unique: 8icP_BXeMlCejOqUQumzpA-1 X-Mimecast-MFC-AGG-ID: 8icP_BXeMlCejOqUQumzpA_1779312901 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1779312901; x=1779917701; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=ww+L13ede0UXhmY2UazMQx/EusMUshqnbpbJrwfXvmQ=; b=kftrS1mA+V/ShsN03yQxJuLMi9cX2VU+kIeP6y03KOLgN1LRC/dTPIG8AJiM4jJVh6 IW9jVoxp5JMsI1nqTDYJhXCcgL8+75sTDo83ZbOC4LZKLecpXPGhbpglYRBSQzpOLBOW 707TzwApDEc7OV9jmaUq2DEWccnDXj4v5JXa3vhL8WVzEWc0m04RTCeXb4ARq+dZAqPr Mf46Wh4ZQhGOdHYNFHvZrW6pXEJlEsdkBMFvvnF612KFafSmUKC03aLmwnLm1fdgAr4W RCXEvI16DI3iEc+2JVFEYvnbpStC+OFmN1IXpkX2ltWBNuPm5EWVcyWbMFx72poL1dxk 55rg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779312901; x=1779917701; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=ww+L13ede0UXhmY2UazMQx/EusMUshqnbpbJrwfXvmQ=; b=q2rmRTGHvP0XDbveyTYEiGLkBBqwbnMdkfYfzUIreYwvpdFJnE50wBsEBfGSnpPp4G f3IRdcR5z8/ZoTGYFC5ozSmM2geO/hJHlOj2DzlwPGN93tg2D5FnFH/jYx32+UBL2yP+ JSU1eqYfOzqycX4qaciwY+AvFxuilB33teB6ouWWqn500Q0U04iFFPVqLKcWm3Bw300y betZjeM7fQ3Wi4+wE6qUyfhH7YsymA/BUh3HA3dnQIauk7rfAGAst99xWVyGR930NudZ Ekqc+r98DiadR2QqtSN2IhaTy93r3O95jvLJAn5BrpOUX3/aDI39FdNW6eZSTM6lJOIM VkHA== X-Gm-Message-State: AOJu0YzYhny5n/z6r9eKou+M81iPUNWxWgpmkpjFM9N7hoAfTV7Ws9A+ P5xT8PO5L/F7EZn4NMuv9wtc9weae2qrbsAzra05HQofGi6kvBkHLt6/6ISO2AtLDfZrlQEogbL yTK27uXUXp1pdomMRS1ct1x51wHd4n8E9DihUNJufeNuEo6kLVEa0tW9L1TlESUfYUuX8sQhv8/ uYyEm3oOU8u+eST/nZG2FLSyAlZXZgj4i3hQIZhw== X-Gm-Gg: Acq92OFiSK0B15RroC9JJPLcHhnYZNJJ4t+c52pkDNYnvZ/XeFRN2f2WaaFePYyZ/r8 nL0frpeugsG/TzvWQPPksMqzuGFpL5X6k98rYChdEkMyCqnhtVmgB1VwLxFJcKcnA3qBzqtbDhS vnbQ3dZjhcktTYIWzdCgO2PgExlxOJjCGrW/jXjmK+15v4KtHWUPx6gL5xApjj1cVRzgBGAwtCS 9hZUu8/XLn/qGbbzsJQKeLqqdKM2sEYUjccpW6rhsa6SLxJQ5a722Yfd/ETSxyGmJu17m9QkiRr 1mKlPo6+0BrigZGv+psQehiLk2ZAuPM5/SuHbs/cllvmnHK3wmQ0kaPLSQt3WoCELhfunk5xvH4 3dr5K9A7hm4ocpkFyh2rz5TM1SVKffkmJ9XPmut1jy5ljM/2Bpq4uNLQ= X-Received: by 2002:a05:6214:418f:b0:89c:a2b2:8d44 with SMTP id 6a1803df08f44-8cc6e382071mr3664686d6.39.1779312900618; Wed, 20 May 2026 14:35:00 -0700 (PDT) X-Received: by 2002:a05:6214:418f:b0:89c:a2b2:8d44 with SMTP id 6a1803df08f44-8cc6e382071mr3664136d6.39.1779312900022; Wed, 20 May 2026 14:35:00 -0700 (PDT) From: Peter Xu To: qemu-devel@nongnu.org Cc: Fabiano Rosas , Peter Xu , Bin Guo Subject: [PULL 24/29] migration/savevm: use stack-allocated bitmap in configuration_validate_capabilities Date: Wed, 20 May 2026 17:33:52 -0400 Message-ID: <20260520213357.40646-25-peterx@redhat.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260520213357.40646-1-peterx@redhat.com> References: <20260520213357.40646-1-peterx@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=lists1p.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: -24 X-Spam_score: -2.5 X-Spam_bar: -- X-Spam_report: (-2.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.445, 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_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-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.29 Precedence: list List-Id: qemu development 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: 1779313059888154100 Content-Type: text/plain; charset="utf-8" From: Bin Guo configuration_validate_capabilities() allocates a bitmap on the heap to track source capabilities via bitmap_new()/g_free(). Since MIGRATION_CAPABILITY__MAX is a small compile-time constant (< 64), a heap allocation for a bitmap this small is wasteful: it adds malloc/free overhead and a potential cache miss for a transient 8-byte allocation. Replace with DECLARE_BITMAP() on the stack and bitmap_zero() to initialize. This eliminates the heap round-trip entirely. Signed-off-by: Bin Guo Reviewed-by: Fabiano Rosas Link: https://lore.kernel.org/r/20260518110112.21395-5-guobin@linux.alibaba= .com Signed-off-by: Peter Xu --- migration/savevm.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/migration/savevm.c b/migration/savevm.c index d1dd696c17..23adaf9dd9 100644 --- a/migration/savevm.c +++ b/migration/savevm.c @@ -347,10 +347,10 @@ static bool configuration_validate_capabilities(SaveS= tate *state) { bool ret =3D true; MigrationState *s =3D migrate_get_current(); - unsigned long *source_caps_bm; + DECLARE_BITMAP(source_caps_bm, MIGRATION_CAPABILITY__MAX); int i; =20 - source_caps_bm =3D bitmap_new(MIGRATION_CAPABILITY__MAX); + bitmap_zero(source_caps_bm, MIGRATION_CAPABILITY__MAX); for (i =3D 0; i < state->caps_count; i++) { MigrationCapability capability =3D state->capabilities[i]; set_bit(capability, source_caps_bm); @@ -373,7 +373,6 @@ static bool configuration_validate_capabilities(SaveSta= te *state) } } =20 - g_free(source_caps_bm); return ret; } =20 --=20 2.53.0 From nobody Sat May 30 17:43:30 2026 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1779312964; cv=none; d=zohomail.com; s=zohoarc; b=n0JusjKOUtgtwmiqoQZGA4ldGMwNXk2CDTnB2XViFoA/OFC4BOZ77XTSealGrHCAOJooU8FxoBZBaXoItitn14PpW4ypHrVeLE8UutTO1zW4ewGoPKcbJnWWmd19f2cgOdtRXb30NQYF2xut8YEvf/fXFYyDImrmYbIhhMOBEhU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779312964; 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=DJRk+Dydw6RvbbRSFjM9fx7PdW6TdEoaaUZ1DDM86ao=; b=FPjGeCLSS8zvh0uaYFGNfl3dk7pJClwWZ9NoKcltcm/5c6mQDTujAta/fTMr5VQvz9U9fZDTI49e8eqt1sP7Q2ATinm1usjM3pLZGXwxL2+uaBS6Ezlx3SiGheQDiaHXwamLZ9kxu5Gp7PO62WszLuteS+byxLB/z/twGKg/Rlw= 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=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1779312964539638.4588770596922; Wed, 20 May 2026 14:36:04 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wPoZK-0002DQ-KI; Wed, 20 May 2026 17:35:10 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wPoZI-0002Af-Qn for qemu-devel@nongnu.org; Wed, 20 May 2026 17:35:08 -0400 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 1wPoZH-0007dM-97 for qemu-devel@nongnu.org; Wed, 20 May 2026 17:35:08 -0400 Received: from mail-qv1-f71.google.com (mail-qv1-f71.google.com [209.85.219.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-159-lFDraUtXMfSeLKfycWnjNQ-1; Wed, 20 May 2026 17:35:03 -0400 Received: by mail-qv1-f71.google.com with SMTP id 6a1803df08f44-8c9e99fcd15so168239146d6.0 for ; Wed, 20 May 2026 14:35:03 -0700 (PDT) Received: from x1.com ([142.189.10.167]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-8ca360b362fsm133062716d6.22.2026.05.20.14.35.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 May 2026 14:35:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1779312906; 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=DJRk+Dydw6RvbbRSFjM9fx7PdW6TdEoaaUZ1DDM86ao=; b=WObJti7aRMw8gaVQvaq/j3mcCel17+5qmmgdA4XLnK4E7fy6ccsAhpaXYckrRDWYE0sAZ7 dDwxKb81zGc4KB0AKTAXnnlxsN0ztSbi+uDX6ujC2OrSV9B0iwXuq7YM4fcoGeWetQOCou vYHXIrLTxXAeiChS9XN8H2SOWiTFcDw= X-MC-Unique: lFDraUtXMfSeLKfycWnjNQ-1 X-Mimecast-MFC-AGG-ID: lFDraUtXMfSeLKfycWnjNQ_1779312903 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1779312903; x=1779917703; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=DJRk+Dydw6RvbbRSFjM9fx7PdW6TdEoaaUZ1DDM86ao=; b=X0nKnB+bqvCeNoE1uYPXIy/WuOFY29oUzdzpTFJRdIEfdtJl+uhecySVV4/DzZAJlV lje0qmvmQjQrXvmwn5esYGsVEybluykErIgMQBppoNWkLTqRM5SM9XT+82zHXwmGgJvI /KcFbCQV2VnHeRFlmZnd31Y+9gwtKfD3ZVjxhpLInOMV67M6e1ktM1/yKBSqZ1JxXPY3 a0NvzPFcrHZLAlvadJ8KSPuJYz/n3bVp9nqScgawCcU+nyPN3Jd+tlINNL0vi/0RRnq9 x6xHjMdnPpZ48z/yj7V0ticui1XYutueObX+rNqL/w6UbEgk4R6u8LY1iJYNJ5SyiE/Q MiQQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779312903; x=1779917703; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=DJRk+Dydw6RvbbRSFjM9fx7PdW6TdEoaaUZ1DDM86ao=; b=NQ0Vc2FvGpwpv4BHDnWkmYXXeMwFFkPhvRQi13WKUR11PAjcmUeKPNejeZT3MFZ2Xq IEGZBYbSUBA0at/LTHhQQmfEQmXoHMx1w2s2T21dg0CI8dN1ljvDTriGpKtkgtzmb8D+ NREKa2iQxzYMgOso6sCndm0NBr46SMJiyYn6CCUkq/cezHtczDmRxaMdrHDmHm/2zxUo 9K55hxgf6lBseN71I7TOfnOlV8aoHvn4F/zPTMKFnIDD9MWZODeO3PoSTnNc1OqbsiKo XDU8HJCCMRceyFXBYPJVcv9rPId8gqaLQry5PNtio0rktfXq/+ZngaSQfrIE+LTKYnnM raiQ== X-Gm-Message-State: AOJu0YxheVlEgqg8WBClwmciFkFatlmicn5bXzLjCLyF5QQ3SHuOcGIL lCACevP3nHRw5PzgEmMPQo2uy+LTUyXoFG+MFFRl+dHwbM9qnfm1CHKXtIGA6kjAX8Tn63E719e /zMU7hby1Z2euuih4wAT4U2eXfDOa5fhbEz/sX2VsziD7YNNMS6FNxIKqGSNWaVAyhG0OYq9GOk hCPyp/f3lR1GY/neORzncMFlWKUCTQ9HY6u/8o/Q== X-Gm-Gg: Acq92OHe0B6bNOLwedkkpKDNAyZJfSfVLLgKNqQVIsRyfniF85sN6np7DKRdCRniMsw ntAT580LXCep4p8Q37+2Fnmo/opFFuFiLYs9BkeorPkpudq90Iq5fut5txmyTyVALQfrr7uOcaw euLgRILIX/kLgZeH5SVcUq/+onSGKFcmjp1IHAjoKb39FXgAXDqUkkledX0efdqDRioA7/5M+Ud b1igC2auY7LuBIIJ4MbBpwKMlpGCWKWnIqbN1ctqlUuIQGZ8GjhHsa1qexNqKyLkQHuFDnmq5aL aJBwT9aL66wRD0gxV6PMMTcVB0cBDhvIbpTcxS1zosBEqHqFA2vlDfTR3buZVHN08hhuU+UrWhA 6izW64qNhY/pdpLxeJciHkR6sPz2mZSmx/69PZYzCbFVbxuKWActJbkM= X-Received: by 2002:a05:6214:1314:b0:8cb:e63e:2a4c with SMTP id 6a1803df08f44-8cc6e30ab47mr4579316d6.12.1779312903019; Wed, 20 May 2026 14:35:03 -0700 (PDT) X-Received: by 2002:a05:6214:1314:b0:8cb:e63e:2a4c with SMTP id 6a1803df08f44-8cc6e30ab47mr4578526d6.12.1779312902220; Wed, 20 May 2026 14:35:02 -0700 (PDT) From: Peter Xu To: qemu-devel@nongnu.org Cc: Fabiano Rosas , Peter Xu , Bin Guo Subject: [PULL 25/29] migration/multifd: fix off-by-one in recv channel ID validation Date: Wed, 20 May 2026 17:33:53 -0400 Message-ID: <20260520213357.40646-26-peterx@redhat.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260520213357.40646-1-peterx@redhat.com> References: <20260520213357.40646-1-peterx@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=lists1p.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: -24 X-Spam_score: -2.5 X-Spam_bar: -- X-Spam_report: (-2.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.445, 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_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-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.29 Precedence: list List-Id: qemu development 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: 1779312965989158500 Content-Type: text/plain; charset="utf-8" From: Bin Guo multifd_recv_initial_packet() validates the channel ID received from the source against the configured number of channels. The current check uses '>' which allows msg.id =3D=3D N to pass through. This ID is then used to index multifd_recv_state->params[msg.id], which was allocated with g_new0(MultiFDRecvParams, N) -- an out-of-bounds access. A malicious or buggy source could send id =3D=3D N and cause heap corruption on the destination. Fix by changing '>' to '>=3D'. Also fix the error message to say "exceeds channel count" for accuracy. Signed-off-by: Bin Guo Reviewed-by: Fabiano Rosas Link: https://lore.kernel.org/r/20260518110112.21395-6-guobin@linux.alibaba= .com Signed-off-by: Peter Xu --- migration/multifd.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/migration/multifd.c b/migration/multifd.c index 035cb70f7b..b3eef875cc 100644 --- a/migration/multifd.c +++ b/migration/multifd.c @@ -210,9 +210,9 @@ static int multifd_recv_initial_packet(QIOChannel *c, E= rror **errp) return -1; } =20 - if (msg.id > migrate_multifd_channels()) { - error_setg(errp, "multifd: received channel id %u is greater than " - "number of channels %u", msg.id, migrate_multifd_channe= ls()); + if (msg.id >=3D migrate_multifd_channels()) { + error_setg(errp, "multifd: received channel id %u exceeds " + "channel count %u", msg.id, migrate_multifd_channels()); return -1; } =20 --=20 2.53.0 From nobody Sat May 30 17:43:30 2026 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1779312955; cv=none; d=zohomail.com; s=zohoarc; b=EBsjzNwgbPwSwkEWP6KVhuYKtcXZ1fyZth7WjLrLQvlJGVVfjyGF/YxpPe0kMUCekZs9W2G3VUIDmE1QFPzeJkVWAIhdRncPMj4SAbXSt8HaPHTVmqWPbwGK1DzAaJghJOslnFgZekY8uxT74ODjFJOmv2xKzhpAoI+u4O/FvHA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779312955; 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=1xF9Gk/nAuXQzYr5I0F5ONytQ6ebnHoMyIC4gn7lM5Q=; b=hGAf9yM9dvd6UgiCZ/0YCVA2/6SEFDSCFCWcfwJNyzhO/BuDDDa9rhbBPr90EJtTaMdINbHw4tWfz2FhIsEmLXQC3TAuriDQ/QiOr9cJB0hAW89yrpghMrHxFwf3FYOzSDrJxrmVUBPVjreIdyThXxCeVoXscDZYJICPV1bbkGQ= 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=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1779312955225716.7200313973117; Wed, 20 May 2026 14:35:55 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wPoZS-0002QU-Jm; Wed, 20 May 2026 17:35:18 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wPoZK-0002DS-MG for qemu-devel@nongnu.org; Wed, 20 May 2026 17:35:10 -0400 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 1wPoZI-0007de-GC for qemu-devel@nongnu.org; Wed, 20 May 2026 17:35:10 -0400 Received: from mail-qv1-f72.google.com (mail-qv1-f72.google.com [209.85.219.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-317-e-SYvXDGO8G_xpJ8qfeeGQ-1; Wed, 20 May 2026 17:35:05 -0400 Received: by mail-qv1-f72.google.com with SMTP id 6a1803df08f44-8b459fa5f76so73805066d6.1 for ; Wed, 20 May 2026 14:35:05 -0700 (PDT) Received: from x1.com ([142.189.10.167]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-8ca360b362fsm133062716d6.22.2026.05.20.14.35.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 May 2026 14:35:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1779312907; 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=1xF9Gk/nAuXQzYr5I0F5ONytQ6ebnHoMyIC4gn7lM5Q=; b=f05UGjBOeTbg2aFh80VvZCtLLGZ/fKmuwYI+4P/nUt01neDwIjBYZ2GPemTx+w9SdGs8+l a9yREO1wfyAF8DZ9yvBc5k8N0olcxbDEEBCsZj74/WQ6wMNhI2Z7D9XGmAaxHVr7eRflEw hPe/U+no/8Tx5HhqbL1nMSfQgU4l/O8= X-MC-Unique: e-SYvXDGO8G_xpJ8qfeeGQ-1 X-Mimecast-MFC-AGG-ID: e-SYvXDGO8G_xpJ8qfeeGQ_1779312905 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1779312905; x=1779917705; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=1xF9Gk/nAuXQzYr5I0F5ONytQ6ebnHoMyIC4gn7lM5Q=; b=oNl3knxNinslOFzIGJx6CY1FOeRyfToL5jo4dT3//YsXifK/XAcYkA6Qi2A4bnVFhM QCsNZXriPDrOsVp7OKpPvTeEa77AFJa6GCkGIegzrQmAL0MOS6SI8JChCRNNBhezjyK5 Jft9V9unTVraGTOjwLwz9mrmtT2mjnOQpufb8v/leXAUOnR5ESXeH3VgHb9FdJW7ZbdE kpUY9Cfh47ntIXXarr0bvnGyQjBrGsRhO6sTaPnlhjQWknSicLtVQpnc4ZciAQfRQXuI sYlQaAbzbS+m1MBzzcNPVDRdM0jvzHzxvv63ZLWg/1pNJYWBSQWwOtA8OqY00u/iU1uv BZ9g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779312905; x=1779917705; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=1xF9Gk/nAuXQzYr5I0F5ONytQ6ebnHoMyIC4gn7lM5Q=; b=WoIHvsgCJewlvUf9PI9C3Tb0ckyyJL7hPMjoukzsrExYgMWxY7RI/nDPPfE0LhkDZe yMhKEKxurnZHfkpIAmA1CC64SXbnI03VUbvP+Mh+7CzKLoLx4xdKFYIAl5FEF0NS9SFV lasJDXVpLJiorCnl70Gg1mtX3lcBX8p/ecJ+x26u9FIlOyLV3sV4lRS0KWrd8686Tp+W Lzs5sRnlA+M4AAo7W5vIfH+fcMMiZfSmQPOO8Gq0rcUOqnrvUhn9nF+qBpUEHg5pw7oE vX2fAFJJxWRg7iRSYIDJ/QwyR0o7i6K5UPQHQjCQ5GI+JwKb6XbgT1UHk++tRtRjQl7X yEaA== X-Gm-Message-State: AOJu0YxsoPx5reQoyUWgrbQBCy84tEjS1Gw8JSnsml+cRgFKebsI2YeV hfR4znDooOGR23haKwkueFk2/oQR0dCO3pmkFGcqVXUMuAVHDm1kZWEmYK3NDDrfC2MFy6xnrtr RYGL9T3Xq5y97g/mTMvdZqRyYH1HKqArWgKFWAaL+gSba6IkvE8+9LSptuqzQkwZ1o/gnVM6rjc WYlK5NG/2Aat4BZjCv4+RsmzvVLMBUQFytDqwzLQ== X-Gm-Gg: Acq92OGN1L7lsA+w+mXceQcvcNMoZ4l9hwxAfF6Q16a6hxhKVTG3Ga+Ub2TNtW39+zU FXIi2cFW4uUNPb8Gx4j36VVptNk3dqGDzLNN3+H7phvd44B5s94zDYEcX6JGNThaJa20YxGrpyD LS+ffrhVmJQT1hIHDcEMVmASIRLobYdSUx9cbNTr1g/DUvRq+DNxBZhStRJ/Gos1v+lagBkc+h6 DWgRO362CU4L9jBDRFKzahcdaDAT0VJ9b741NxPwo07gqzJQRUNtwE4IALE51vReoQPk8Vrgknq nIHHNjk6NF3xmvT+l7KwauT7z2Ilmq8WLonifNeca60E+VzJiz5rytVc9JLAMC6J7VZ97dg8J6q 0jWNzicWMIFcu5gLxkm6NhqVDqcbMYTVpuDlm6iKCgIae X-Received: by 2002:a05:6214:4286:b0:8ca:207d:50c8 with SMTP id 6a1803df08f44-8cc6e30abf2mr4559846d6.16.1779312904982; Wed, 20 May 2026 14:35:04 -0700 (PDT) X-Received: by 2002:a05:6214:4286:b0:8ca:207d:50c8 with SMTP id 6a1803df08f44-8cc6e30abf2mr4558856d6.16.1779312904224; Wed, 20 May 2026 14:35:04 -0700 (PDT) From: Peter Xu To: qemu-devel@nongnu.org Cc: Fabiano Rosas , Peter Xu , Bin Guo Subject: [PULL 26/29] migration/multifd: cache migrate_multifd_channels() in send/recv hot paths Date: Wed, 20 May 2026 17:33:54 -0400 Message-ID: <20260520213357.40646-27-peterx@redhat.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260520213357.40646-1-peterx@redhat.com> References: <20260520213357.40646-1-peterx@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=lists1p.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: -24 X-Spam_score: -2.5 X-Spam_bar: -- X-Spam_report: (-2.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.445, 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_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-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.29 Precedence: list List-Id: qemu development 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: 1779312955909158500 Content-Type: text/plain; charset="utf-8" From: Bin Guo multifd_send() and multifd_recv() are on the per-page-batch hot path of live migration. Both functions call migrate_multifd_channels() multiple times (3-4 calls each) for modulo arithmetic in the round-robin channel selection loop. Each call goes through migrate_get_current() -> dereference MigrationState -> read parameters.multifd_channels. While each individual call is cheap, these functions execute for every page batch during the entire migration, easily millions of times. Cache the return value in a local variable at function entry. The channel count is fixed for the duration of a migration and cannot change mid-flight. For multifd_send(): 3 calls reduced to 1. For multifd_recv(): 4 calls reduced to 1. Signed-off-by: Bin Guo Reviewed-by: Fabiano Rosas Link: https://lore.kernel.org/r/20260518110112.21395-8-guobin@linux.alibaba= .com Signed-off-by: Peter Xu --- migration/multifd.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/migration/multifd.c b/migration/multifd.c index b3eef875cc..0ac3f5e719 100644 --- a/migration/multifd.c +++ b/migration/multifd.c @@ -362,13 +362,15 @@ bool multifd_send(MultiFDSendData **send_data) /* We wait here, until at least one channel is ready */ qemu_sem_wait(&multifd_send_state->channels_ready); =20 + int thread_count =3D migrate_multifd_channels(); + /* * next_channel can remain from a previous migration that was * using more channels, so ensure it doesn't overflow if the * limit is lower now. */ - next_channel %=3D migrate_multifd_channels(); - for (i =3D next_channel;; i =3D (i + 1) % migrate_multifd_channels()) { + next_channel %=3D thread_count; + for (i =3D next_channel;; i =3D (i + 1) % thread_count) { if (multifd_send_should_exit()) { return false; } @@ -378,7 +380,7 @@ bool multifd_send(MultiFDSendData **send_data) * sender thread can clear it. */ if (qatomic_read(&p->pending_job) =3D=3D false) { - next_channel =3D (i + 1) % migrate_multifd_channels(); + next_channel =3D (i + 1) % thread_count; break; } } @@ -998,6 +1000,7 @@ bool multifd_recv(void) int i; static int next_recv_channel; MultiFDRecvParams *p =3D NULL; + int thread_count =3D migrate_multifd_channels(); MultiFDRecvData *data =3D multifd_recv_state->data; =20 /* @@ -1005,8 +1008,8 @@ bool multifd_recv(void) * using more channels, so ensure it doesn't overflow if the * limit is lower now. */ - next_recv_channel %=3D migrate_multifd_channels(); - for (i =3D next_recv_channel;; i =3D (i + 1) % migrate_multifd_channel= s()) { + next_recv_channel %=3D thread_count; + for (i =3D next_recv_channel;; i =3D (i + 1) % thread_count) { if (multifd_recv_should_exit()) { return false; } @@ -1014,7 +1017,7 @@ bool multifd_recv(void) p =3D &multifd_recv_state->params[i]; =20 if (qatomic_read(&p->pending_job) =3D=3D false) { - next_recv_channel =3D (i + 1) % migrate_multifd_channels(); + next_recv_channel =3D (i + 1) % thread_count; break; } } --=20 2.53.0 From nobody Sat May 30 17:43:30 2026 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1779312995; cv=none; d=zohomail.com; s=zohoarc; b=O7xSVliQvAdT3e1O+UnQAWe7Gzd3A2LeI4WEuogp/0BAYeCCAV20tl2r4UNgaQrVV14sVxV1XsrSWNQ34QBKNRcbTaJZTD/H3vyfaEJvXrEsHDLRUJRSdmaTmXViZrbU80Zye0DHapNETq/dJoT9R77qtohO4sUOBVUWGmo/9fs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779312995; 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=BN/SAy/s/zQ4OQntT5AIDwA9mLnJ4zwvh7mc8onZCok=; b=I7bDMf85K4ov7wOdO6HYJJFDHp3Qh4wOfE7nd4bRRleE0OSf6n8uiyx39gs303pMlCi5RwGD5uujoRE6ipdTNanXy1SC5k0yAt+NvI6pwF8D1jjYOi8xA3sgfV/WUegJFytZe43RNTGo24Ymi0YTl49wuANzleT5Y10XRWK+V2w= 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=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1779312995870524.9634207450492; Wed, 20 May 2026 14:36:35 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wPoZV-0002i6-G2; Wed, 20 May 2026 17:35:21 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wPoZN-0002IA-Ez for qemu-devel@nongnu.org; Wed, 20 May 2026 17:35:14 -0400 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 1wPoZL-0007f2-Pp for qemu-devel@nongnu.org; Wed, 20 May 2026 17:35:13 -0400 Received: from mail-qt1-f200.google.com (mail-qt1-f200.google.com [209.85.160.200]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-531-0DP-C-hdPiaFktSfEtG4eA-1; Wed, 20 May 2026 17:35:09 -0400 Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-514b673c8f1so58320071cf.3 for ; Wed, 20 May 2026 14:35:09 -0700 (PDT) Received: from x1.com ([142.189.10.167]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-8ca360b362fsm133062716d6.22.2026.05.20.14.35.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 May 2026 14:35:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1779312911; 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=BN/SAy/s/zQ4OQntT5AIDwA9mLnJ4zwvh7mc8onZCok=; b=O1qIjz1CTxLXk3XdG9eVcd5bXGrMYBzUxrlwdMr7T9v4KkDkZfbgJ7z46mDLJ6THGxlVuX 80za0SS7360xUuruCXQC8ARD9mrbG4qCAGtI6Q0nyYXMg385LPPszjovhY249zsOBszz3g Z6E5DMs/4+IYDBYNW6GDl0b9pZm95L8= X-MC-Unique: 0DP-C-hdPiaFktSfEtG4eA-1 X-Mimecast-MFC-AGG-ID: 0DP-C-hdPiaFktSfEtG4eA_1779312909 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1779312909; x=1779917709; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=BN/SAy/s/zQ4OQntT5AIDwA9mLnJ4zwvh7mc8onZCok=; b=FEoZMc/C/kaGCdbg9IRqeE4pj1bPgZyq+DtGC5XmrzIwMjAOizy52WShql14YmZmvV tyzdypW2BJtCcLvQIJ0hNxTQiBQfl8s46pOvCunMX6nznbaqhyb4SFk2RL+PVGkoYlhn hs2zSXelOYYEpy8iIhcLBJCaYc5emYTp46ZYynxdSXiTDzIYfKbGfUpkvMPK9rxQVa2o JzuTjgnh1+JwyclEh9arrlbZR8cwrhfM1S/8Xabf8yoATJ0aCx4ztGsl4XSmS0HuIsEv YhUcASRP84nqsoSvFIA3aaGRFwkvS684L2LGkPcTvLVcCmHyBLWsx+AGJpCTpPcG9MiL xD/g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779312909; x=1779917709; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=BN/SAy/s/zQ4OQntT5AIDwA9mLnJ4zwvh7mc8onZCok=; b=WZqa+AdMJQE0feVVBsiuP4BJ/vw77KAuaaWPdVQpmxssG14pyEymljhqeeWD8X6XaM kP0vKxPqRiVCBccTwcU+3CmoadTRqFKwUH62A2mGVXdJairEW/EPt+tRo0lfRUFxEtgz X2uDxINCEWaqv7mvVcthHRWmiEqv0vYWFc+/doYpw4B7QlvZGLigfr4yc5NJdxGm4XzB SfrdGiGEN8fCpa3fxHHJOIAxuvjq7p9MldZJpQOaWuM38pBhjQFN1LmtdD05BuLl5qxU KGo5HnMVlYfCU2iCIQMWlWw8mvaKjrnCp8YO8EtMciWigC7L5BqOkaXVVHt5O9q7B/O+ qVcA== X-Gm-Message-State: AOJu0YyDOMoIXXn0B3+IycMj1czS3CgzGTtXo2yfD/n6x79FQlRaa2VU wXdUEh6iSt9/W/l87gtjNfo4sgR/uaRoAb40GaNsyWiV/kccEE5RizOZ5G2bF9p9mKd3yPPJBBs nWG245RGKHcG3QxqO1SHXBwcwnG3oMG6OPBf8Chjv057o6bMGS9De7tnhtqqlU/A31MsmriwZkM /LjmmFuiJi/cC1UMijvDluacJjB+z62tfMCdBHmw== X-Gm-Gg: Acq92OFhr0wmXOuimn6BJAAoTMYffpefZlO3VnqqbeBGMTNS+yPUrlw2EQ559OIY0qR o7RW56Zyoq40mMDzs7GAxfSMGEhGFquwSlv9bNfY5gMvloSsKVWsOFic/cGsOOI9CFmfvPc1L2v eUJqko4HLb1+KRZtHImqY/OPgpBaYrS+iYXEdVwTQy2m9+KDLkqu1rHEGOFQUwVdKsqep3W2Xq+ 5gGQqeXgyxIoqNH/ggVkS9TohmFBXb631KrbgKVcihC9iw6c+IahHU8szLgv4r9VxRrWvBVPHSP JPBVMWfu+g6d2O3b29HAZOpn8L9hNQmDWslOCQA6RJJ6Bf3NRJmjITqhVP6CyyjAk1D+qLbJIVY BsMttf3VYtGDn+u0u09fikSIEWOdb85AS7ozMxJPjMJ4h X-Received: by 2002:a05:622a:190e:b0:50f:b494:7887 with SMTP id d75a77b69052e-516c55ba389mr3671231cf.51.1779312907931; Wed, 20 May 2026 14:35:07 -0700 (PDT) X-Received: by 2002:a05:622a:190e:b0:50f:b494:7887 with SMTP id d75a77b69052e-516c55ba389mr3670401cf.51.1779312907230; Wed, 20 May 2026 14:35:07 -0700 (PDT) From: Peter Xu To: qemu-devel@nongnu.org Cc: Fabiano Rosas , Peter Xu , Bin Guo Subject: [PULL 27/29] migration/multifd: cache channel count in multifd_send_sync_main Date: Wed, 20 May 2026 17:33:55 -0400 Message-ID: <20260520213357.40646-28-peterx@redhat.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260520213357.40646-1-peterx@redhat.com> References: <20260520213357.40646-1-peterx@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=lists1p.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: -24 X-Spam_score: -2.5 X-Spam_bar: -- X-Spam_report: (-2.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.445, 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_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-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.29 Precedence: list List-Id: qemu development 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: 1779312996367158500 Content-Type: text/plain; charset="utf-8" From: Bin Guo multifd_send_sync_main() is called once per RAM synchronization round during live migration. It iterates over all multifd channels twice (signal loop + wait loop), calling migrate_multifd_channels() independently in each loop header. Cache migrate_multifd_channels() in a local thread_count variable at function entry, matching the pattern already used in multifd_send_setup() and multifd_recv_setup(). This eliminates 2 redundant config lookups per sync call. Signed-off-by: Bin Guo Reviewed-by: Fabiano Rosas Link: https://lore.kernel.org/r/20260518110112.21395-9-guobin@linux.alibaba= .com Signed-off-by: Peter Xu --- migration/multifd.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/migration/multifd.c b/migration/multifd.c index 0ac3f5e719..dbad525d2a 100644 --- a/migration/multifd.c +++ b/migration/multifd.c @@ -611,13 +611,15 @@ static int multifd_zero_copy_flush(QIOChannel *c) int multifd_send_sync_main(MultiFDSyncReq req) { int i; + int thread_count; bool flush_zero_copy; =20 assert(req !=3D MULTIFD_SYNC_NONE); =20 + thread_count =3D migrate_multifd_channels(); flush_zero_copy =3D migrate_zero_copy_send(); =20 - for (i =3D 0; i < migrate_multifd_channels(); i++) { + for (i =3D 0; i < thread_count; i++) { MultiFDSendParams *p =3D &multifd_send_state->params[i]; =20 if (multifd_send_should_exit()) { @@ -634,7 +636,7 @@ int multifd_send_sync_main(MultiFDSyncReq req) qatomic_set(&p->pending_sync, req); qemu_sem_post(&p->sem); } - for (i =3D 0; i < migrate_multifd_channels(); i++) { + for (i =3D 0; i < thread_count; i++) { MultiFDSendParams *p =3D &multifd_send_state->params[i]; =20 if (multifd_send_should_exit()) { --=20 2.53.0 From nobody Sat May 30 17:43:30 2026 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1779312934; cv=none; d=zohomail.com; s=zohoarc; b=OQzA6TeCR10O0piDbo1E5aIKmUR/jhKbF/5Q/5Q0FRHE3inl8xZPb/tH06x+smkmTOMQ5jXgmTLcqh9UPDO0gCnogO5uZmCjQzq61Xb5SirgFm2fhbqbHJXjIv/lUWT62bSHiY7wg9VvGXC4Lfluos9lP+gzB9JU1F/Dsb/63FQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779312934; 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=qWydiIYQqrKb1lrC/Ixqufpo2JBJY982VhMLteFOhE4=; b=IaR7vW4YhFEbnRBqHTA97/mbgdZOSBo7Dh9DZRiBBVu2Uac40rIKnM3HbUNOWksIv1h600kAC7lfdFM/ZUltpkacC8Od/CqlRMdR2uP9WvaRq+4PLarqaTE0b6uJsOXEC9DjWIg1mEr6OfoJBK2bGkfYJ+n/HxQ0aFc/t2fnkpM= 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=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1779312934467949.6177642812314; Wed, 20 May 2026 14:35:34 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wPoZW-0002pp-BT; Wed, 20 May 2026 17:35:22 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wPoZO-0002Ka-PJ for qemu-devel@nongnu.org; Wed, 20 May 2026 17:35:16 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wPoZM-0007fU-PK for qemu-devel@nongnu.org; Wed, 20 May 2026 17:35:14 -0400 Received: from mail-qv1-f69.google.com (mail-qv1-f69.google.com [209.85.219.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-8-ywsRgMYVNFKBkkpao4tPYA-1; Wed, 20 May 2026 17:35:10 -0400 Received: by mail-qv1-f69.google.com with SMTP id 6a1803df08f44-8ca122dade4so66413616d6.2 for ; Wed, 20 May 2026 14:35:10 -0700 (PDT) Received: from x1.com ([142.189.10.167]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-8ca360b362fsm133062716d6.22.2026.05.20.14.35.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 May 2026 14:35:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1779312912; 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=qWydiIYQqrKb1lrC/Ixqufpo2JBJY982VhMLteFOhE4=; b=dv+Q1DO+ACNei4JTfsAyyhWrQlE7p1dkLX3vALaTEMud/aFPkq8eoutTu4P7VJH5/9bjhb 020bcEt8nFuB9nr3IbbFHHCtcvft7FUqvwX5pvzx6Z3QcJYBoyfYtYMwj74HXu232JoXok vSmysPvML4QPhTfxPBRFso12OkBlKy8= X-MC-Unique: ywsRgMYVNFKBkkpao4tPYA-1 X-Mimecast-MFC-AGG-ID: ywsRgMYVNFKBkkpao4tPYA_1779312910 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1779312910; x=1779917710; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=qWydiIYQqrKb1lrC/Ixqufpo2JBJY982VhMLteFOhE4=; b=aN1kMkajV1XtsLyQuPxC56v5EZ2MKitZ+9ySwHd7U0PD7V28DEahPOIAAslsviOjZv JvPR5nWc60LFfI/qTo22tZzTwWTystXBiKKY0SRjSJgcQ9RdeYt1IsnRLxZpHxU+z8cu WfBXwmLSAEMEhSDrRTwgIyu9dE7eiJQPtblkLi9knEorinKyWiOOqvWLh4fNEkLKl8dK 1FWUUvd2OPEt5WY3th7SpkS8eSIVdCvNvUc7S4Fuxc7k2U8b27bYdbh7pbm6QdZWpYkZ P7vyRJ+cwoOi7ENp7DEgslOWo26bf6GX/y1TxKoSFB36DdyRPVPAoEdpUgZiGs1k8i+D P8QA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779312910; x=1779917710; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=qWydiIYQqrKb1lrC/Ixqufpo2JBJY982VhMLteFOhE4=; b=njDAb7wC0jzK7hqwz7b+7IKvb9c7zM/GplqLa7jJsNjwLpfSgIN4guRyQyClRGNccR wIodQvx0eM4Vrp3P9zy+3RtUDn1DmSYCylmxRNUEj9V95euJnf40SMPf6vVvoIQrNSL0 Qz3zHYVXCYZUGihLdOBjMzEOb7V+ojTahitWvkU/k2zhlimsmWXAiWvSfewXeQpTRx39 1ZaPs2G3m3kpGan/xkPYDWt+QuVnUvx5Q9LZodS8AWb6u0yO2YDkvvypAG0Eaw7JWXO6 2Qgg9+ZfSgyhfsE1WQH0LcGVO+lJkxxNpL41YutELOScbd7FjOwG/eU7pMUI+KrFIXj+ yNDg== X-Gm-Message-State: AOJu0YxcgV/ELkCBZ6myR5yzkUnzacfsOEHBeltTuVsc97mHi/DV+++x ySzNB7taxoKRU9EqtE4w8mT5PPfYeGRtHpvLX9/Yjj5u2KamS+HFROpOB3mLmMybfKIAyTK6qJP ZulGF7881688GaWo9v5YVkrDyrF/lswPoELQqpFBv2JMFuHf+yaH8sCuTVxvIqiAetWgJ3C4kfB y00a+8OfezEuNObKA8J2RXi+aPRIDOM+edHkxqBw== X-Gm-Gg: Acq92OG+ijshfzWe+tG9/HLMoLPrxxdj5QX2puMh4VDALzbWy7mjU6v6xmrLJpuNxac Gqaede3Ic6p+8Zf30OT8XVK+HWch1CkQOL822bPqZ7Qv4paRL29jy8hE1t30HobtbrGkKot5FvN X4mP0dbYJUIJjqvMFgdXaiXf2kU1jCv6s03nmZuxaPx8wmY26RCbknAD/m6b1hWeUrW4+r5B+Wi X1gpSUNmB0kJby7zoAOyrumpMulrl2C3j+bPtNbwTyLFkJiWGYdxkpSxDrECJuScBP3V6JT02Tt EBTrcYyCdhEtkUuneJCglL5r2QnnwFiBZtDvAYAbwe0nLjfmEO1nOvmSDMb/l4v3Wq1SnjWggCX XyC9pWYCxPvdkmgxxX+FBoanj0DNl+suEKh3VrrEt2OUs X-Received: by 2002:a05:6214:1305:b0:8cc:2a92:48ec with SMTP id 6a1803df08f44-8cc6e37ec21mr3895996d6.34.1779312909629; Wed, 20 May 2026 14:35:09 -0700 (PDT) X-Received: by 2002:a05:6214:1305:b0:8cc:2a92:48ec with SMTP id 6a1803df08f44-8cc6e37ec21mr3895126d6.34.1779312908832; Wed, 20 May 2026 14:35:08 -0700 (PDT) From: Peter Xu To: qemu-devel@nongnu.org Cc: Fabiano Rosas , Peter Xu , hongmianquan Subject: [PULL 28/29] migration/cpr: use hashtable for cpr fds Date: Wed, 20 May 2026 17:33:56 -0400 Message-ID: <20260520213357.40646-29-peterx@redhat.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260520213357.40646-1-peterx@redhat.com> References: <20260520213357.40646-1-peterx@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=peterx@redhat.com; helo=us-smtp-delivery-124.mimecast.com 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, DKIMWL_WL_HIGH=-0.445, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-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.29 Precedence: list List-Id: qemu development 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: 1779312935852158500 Content-Type: text/plain; charset="utf-8" From: hongmianquan Use a GHashTable to store cpr fds to reduce the time consumption of `cpr_find_fd` in scenarios with a large number of fds. The time complexity for `cpr_find_fd` is reduced from O(N) to O(1). Keep cpr fds lookups in a GHashTable during normal runtime while preserving the existing QLIST migration ABI. Build a temporary QLIST from the hash table in pre_save and rebuild the hash table from the loaded QLIST in post_load. To demonstrate the performance improvement, we tested the total time consumed by `cpr_find_fd` (called N times for N fds) under our real-world business scenarios with different numbers of file descriptors. The results are measured in nanoseconds: | Number of FDs | Total time with QLIST (ns) | Total time with GHashTable (= ns) | |---------------|----------------------------|-----------------------------= ----| | 540 | 936,753 | 393,358 = | | 2,870 | 24,102,342 | 2,212,113 = | | 7,530 | 152,715,916 | 5,474,310 = | As shown in the data, the lookup time grows exponentially with the QLIST as the number of fds increases. With the GHashTable, the time consumption remains linear (O(1) per lookup), significantly reducing the downtime during the CPR process. Signed-off-by: hongmianquan Link: https://lore.kernel.org/r/20260519134315.27997-1-hongmianquan@bytedan= ce.com Signed-off-by: Peter Xu --- migration/cpr.c | 116 ++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 98 insertions(+), 18 deletions(-) diff --git a/migration/cpr.c b/migration/cpr.c index 05266dfcfd..bca43e9bf3 100644 --- a/migration/cpr.c +++ b/migration/cpr.c @@ -24,6 +24,7 @@ /* cpr state container for all information to be saved. */ =20 CprState cpr_state; +static GHashTable *cpr_fds_hash; =20 /*************************************************************************= ***/ =20 @@ -48,6 +49,84 @@ static const VMStateDescription vmstate_cpr_fd =3D { } }; =20 +static guint cpr_fd_hash(gconstpointer v) +{ + const CprFd *elem =3D v; + + return g_str_hash(elem->name) ^ elem->id; +} + +static gboolean cpr_fd_equal(gconstpointer a, gconstpointer b) +{ + const CprFd *elem_a =3D a; + const CprFd *elem_b =3D b; + + return !strcmp(elem_a->name, elem_b->name) && elem_a->id =3D=3D elem_b= ->id; +} + +static void cpr_fd_destroy(gpointer data) +{ + CprFd *elem =3D data; + + g_free(elem->name); + g_free(elem); +} + +static GHashTable *get_cpr_fds_hash(void) +{ + if (!cpr_fds_hash) { + cpr_fds_hash =3D g_hash_table_new_full(cpr_fd_hash, cpr_fd_equal, + cpr_fd_destroy, NULL); + } + + return cpr_fds_hash; +} + +static void cpr_fd_hash_insert(CprFd *elem) +{ + /* Use the same CprFd as key and value. */ + g_hash_table_insert(get_cpr_fds_hash(), elem, elem); +} + +static int cpr_fd_pre_save(void *opaque) +{ + CprState *state =3D (CprState *)opaque; + GHashTableIter iter; + CprFd *elem; + + QLIST_INIT(&state->fds); + + g_hash_table_iter_init(&iter, get_cpr_fds_hash()); + while (g_hash_table_iter_next(&iter, (gpointer *)&elem, NULL)) { + QLIST_INSERT_HEAD(&state->fds, elem, next); + } + + return 0; +} + +static int cpr_fd_post_load(void *opaque, int version_id) +{ + CprState *state =3D (CprState *)opaque; + CprFd *elem; + + while ((elem =3D QLIST_FIRST(&state->fds))) { + QLIST_REMOVE(elem, next); + + /* + * Preserve legacy QLIST lookup semantics if duplicate keys exist = in + * the incoming stream: the first matching entry wins. + */ + if (g_hash_table_contains(get_cpr_fds_hash(), elem)) { + cpr_fd_destroy(elem); + continue; + } + + cpr_fd_hash_insert(elem); + } + + return 0; +} + void cpr_save_fd(const char *name, int id, int fd) { CprFd *elem =3D g_new0(CprFd, 1); @@ -57,37 +136,34 @@ void cpr_save_fd(const char *name, int id, int fd) elem->namelen =3D strlen(name) + 1; elem->id =3D id; elem->fd =3D fd; - QLIST_INSERT_HEAD(&cpr_state.fds, elem, next); + cpr_fd_hash_insert(elem); } =20 -static CprFd *find_fd(CprFdList *head, const char *name, int id) +static CprFd *find_fd(const char *name, int id) { - CprFd *elem; + CprFd key =3D { + .name =3D (char *)name, + .id =3D id, + }; =20 - QLIST_FOREACH(elem, head, next) { - if (!strcmp(elem->name, name) && elem->id =3D=3D id) { - return elem; - } - } - return NULL; + return g_hash_table_lookup(get_cpr_fds_hash(), &key); } =20 void cpr_delete_fd(const char *name, int id) { - CprFd *elem =3D find_fd(&cpr_state.fds, name, id); + CprFd key =3D { + .name =3D (char *)name, + .id =3D id, + }; =20 - if (elem) { - QLIST_REMOVE(elem, next); - g_free(elem->name); - g_free(elem); - } + g_hash_table_remove(get_cpr_fds_hash(), &key); =20 trace_cpr_delete_fd(name, id); } =20 int cpr_find_fd(const char *name, int id) { - CprFd *elem =3D find_fd(&cpr_state.fds, name, id); + CprFd *elem =3D find_fd(name, id); int fd =3D elem ? elem->fd : -1; =20 trace_cpr_find_fd(name, id, fd); @@ -96,7 +172,7 @@ int cpr_find_fd(const char *name, int id) =20 void cpr_resave_fd(const char *name, int id, int fd) { - CprFd *elem =3D find_fd(&cpr_state.fds, name, id); + CprFd *elem =3D find_fd(name, id); int old_fd =3D elem ? elem->fd : -1; =20 if (old_fd < 0) { @@ -125,9 +201,11 @@ int cpr_open_fd(const char *path, int flags, const cha= r *name, int id, =20 bool cpr_walk_fd(cpr_walk_fd_cb cb) { + GHashTableIter iter; CprFd *elem; =20 - QLIST_FOREACH(elem, &cpr_state.fds, next) { + g_hash_table_iter_init(&iter, get_cpr_fds_hash()); + while (g_hash_table_iter_next(&iter, (gpointer *)&elem, NULL)) { g_assert(elem->fd >=3D 0); if (!cb(elem->fd)) { return false; @@ -141,6 +219,8 @@ static const VMStateDescription vmstate_cpr_state =3D { .name =3D CPR_STATE, .version_id =3D 1, .minimum_version_id =3D 1, + .pre_save =3D cpr_fd_pre_save, + .post_load =3D cpr_fd_post_load, .fields =3D (VMStateField[]) { VMSTATE_QLIST_V(fds, CprState, 1, vmstate_cpr_fd, CprFd, next), VMSTATE_END_OF_LIST() --=20 2.53.0 From nobody Sat May 30 17:43:30 2026 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1779312991; cv=none; d=zohomail.com; s=zohoarc; b=kEQWRbT9chX9y+kYlwB1t442ztMBs16ifp1B22+kNA/mJbV9xK0Dk/DFjNlDTTxOvQ7RkA10uQHMX47hnRHCh/71wT2wtp0Le49EAoDTeKPT2VTkbE7FdSwAsSgFU+2QWYhHkfue/0uvNQ0EDrxuntSIiCIRlA7Qpp7BxHQ7QtE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779312991; 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=cnCkeAl1JEVCHcp/i80JvKig343l2L+FI2gInquK9G8=; b=DeUBR2+xyQ/fwagG+4TZdQF2GA11ykUw+n0gFRm8+PaIxpcmrRFtolKl3EUesEfblTaWFe8W+tuL9PxQ8YvBCcVZdD+vu6Cujol1iNodPmMyI9c4FLyN1a/2lBJ7fv8u6eIUZfx0XXuCZSKi29Etikhv1d+rlpoxQJhb0IEU53c= 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=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1779312991316644.9520315056466; Wed, 20 May 2026 14:36:31 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wPoZY-00033B-5b; Wed, 20 May 2026 17:35:24 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wPoZW-0002ox-5f for qemu-devel@nongnu.org; Wed, 20 May 2026 17:35:22 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wPoZU-0007lz-17 for qemu-devel@nongnu.org; Wed, 20 May 2026 17:35:21 -0400 Received: from mail-qt1-f198.google.com (mail-qt1-f198.google.com [209.85.160.198]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-568-2a9HaV4lMIGCr-O0UgEspA-1; Wed, 20 May 2026 17:35:13 -0400 Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-50f13da9684so70330221cf.3 for ; Wed, 20 May 2026 14:35:13 -0700 (PDT) Received: from x1.com ([142.189.10.167]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-8ca360b362fsm133062716d6.22.2026.05.20.14.35.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 May 2026 14:35:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1779312918; 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=cnCkeAl1JEVCHcp/i80JvKig343l2L+FI2gInquK9G8=; b=i2p6vajmaknBp4p6gPyew1+QQtCXgwudHMcQ1TAqxusO7ndSA/0iARcqUhS3H0S9ak/iFB vCbCpJM/IPNSrOffhA1KLv3954PvFRLriFiyMbZnGm3nz1tDDWqcHa3ShC83gBuXlkMsyV PrVF9jPGk4gxk6Rg4Mna7+QjTVIw4eQ= X-MC-Unique: 2a9HaV4lMIGCr-O0UgEspA-1 X-Mimecast-MFC-AGG-ID: 2a9HaV4lMIGCr-O0UgEspA_1779312912 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1779312912; x=1779917712; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=cnCkeAl1JEVCHcp/i80JvKig343l2L+FI2gInquK9G8=; b=BWA8Z+Kktcy1hgN9TNCn8a9j02Y3oJbBkTH4kNyiDG15m2a9mM4wED0Vx5gvxJLlGa xyudw00b7ntWgZgHUAj7kvdWdkOvM8YRSNanuHkdrdMwwu2Uk7761Ph7RpU2KsGjzRRB RTQx/sGJb6NCJZbxHbR5HfdsfA+ChbUAcsvu5LTN5Z42aIHry1k026FpnQoHjd122cUP l1MdL3ECkuz+ol3BDnaLdYrbbPPd0KqWQaga4hNgN2QcRoA78I7TJQcHzhCovLU0Tisu Jo+8g/LyVSj1b+DtWOu+Etry0K5l6taUk4sTouithKmNp6afYKd5NEIQZpPax9lXHeA8 K5sg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779312912; x=1779917712; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=cnCkeAl1JEVCHcp/i80JvKig343l2L+FI2gInquK9G8=; b=Nz0hOfjvMy3EY05PEXLgRO049xqPfsJZsLUHXoxRM6BzsaiI0oNhuDQSqbxk4R3z4+ mn1g6MX+uoZ6JeG6xu+09JtcUNS1m+BO/yIp7yYm405TYFlIrXNO3STGpbh8ZYtzK9G4 iEjGtG92r96SoRXN8IXm80ln1ao87Ybx2iv/8wi/S+rkZeNtOdCoGrPGgNUflX6EBpko kWKOkgUzSbed8VeVZrEa3c4Llc+z2T8q8M8ImQg/jnPWEJUhMoWo1SXxDw60+TLNn0d4 0KdLgmG+jLsMMgLqzTlgR6HwNaZILkj1/UkA0eHQe0bz7i2xDEskiMfHoVvtQGu0ZHkT mrgA== X-Gm-Message-State: AOJu0Yy47ULNVxEd46slMAHJBF2JlDMScHW/0aDVgmJVUDOohbc5eEah v/EQ5QlhaxTY4FVdxUxe5eSGQKDwUHvkhGMJ+JzklN8px8wXid/Z8PAQPFpJ+4l3OLWw+fpPH2W Q55zCAoBd4nKpRP+jiSYHoqxg0QZ9MZ92v+VM2xW4GnDA7Bjy98ZWTESQmmE0cg+7DYG6zDdBtJ vHxm87xBnxF3uFLVdFDBm802cOR+oKZsuq7uTKyQ== X-Gm-Gg: Acq92OEg2GOAk0eDtkOBwiZnjogBFq2hWR7lNQZzEaNIWhjHJijcRUwR+daaV4jj8kd ++MNaIU7hsl8SntTwOv1TqlN58SG7gZQbkB38m7VPRYTqltlp56HcCepq37G7d2w2mZSGYL6dwH 4PZ69Wjf+N8wzwXftZrLNJS8cvfrm7t7Qj52R0hpPOg/KHOIHjHjcFL3P4C5olDVYF7UKpjDODl kcy5VfPs17VSoshLuaXzdwt21oRxXDtnBEMXBOcFpxFCwYQGHw/9wyVEizgMoqlY5exoXTJJ0aJ PuqRpZQ3swgK0oefl/Y0QkKOg+trXQo6yhVUUVSndWvKM3BN5YCr3ZDH2230Dkj+G9DDp8ue0Aw iduqwvPXwRJ6W8tyaQgKQLjx6mrUNngRxcC9oEfXDl1jR X-Received: by 2002:a05:622a:4d95:b0:50e:62ba:3ff7 with SMTP id d75a77b69052e-516c5507428mr3897251cf.26.1779312912118; Wed, 20 May 2026 14:35:12 -0700 (PDT) X-Received: by 2002:a05:622a:4d95:b0:50e:62ba:3ff7 with SMTP id d75a77b69052e-516c5507428mr3896661cf.26.1779312911527; Wed, 20 May 2026 14:35:11 -0700 (PDT) From: Peter Xu To: qemu-devel@nongnu.org Cc: Fabiano Rosas , Peter Xu , Hyman Huang , Hyman Huang Subject: [PULL 29/29] MAINTAINERS: Update email of Yong Huang Date: Wed, 20 May 2026 17:33:57 -0400 Message-ID: <20260520213357.40646-30-peterx@redhat.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260520213357.40646-1-peterx@redhat.com> References: <20260520213357.40646-1-peterx@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=peterx@redhat.com; helo=us-smtp-delivery-124.mimecast.com 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, DKIMWL_WL_HIGH=-0.445, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-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.29 Precedence: list List-Id: qemu development 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: 1779312992228158500 Content-Type: text/plain; charset="utf-8" From: Hyman Huang I left SmartX two weeks ago. Update my email to stay reachable. Signed-off-by: Hyman Huang Link: https://lore.kernel.org/r/b3bd81c3d9f425bb750a76d7bad7ad0284e55123.17= 79178180.git.infra.ai.cloud@bitdeer.com [peterx: fix address, s/biitdeer/bitdeer/] Signed-off-by: Peter Xu --- MAINTAINERS | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/MAINTAINERS b/MAINTAINERS index c6ce786b5b..a8906677fc 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -3785,7 +3785,7 @@ F: migration/rdma* F: scripts/rdma-migration-helper.sh =20 Migration dirty limit and dirty page rate -M: Hyman Huang +M: Hyman Huang S: Maintained F: system/dirtylimit.c F: include/system/dirtylimit.h @@ -3795,7 +3795,7 @@ F: include/system/dirtyrate.h F: docs/devel/migration/dirty-limit.rst =20 Detached LUKS header -M: Hyman Huang +M: Hyman Huang S: Maintained F: tests/qemu-iotests/tests/luks-detached-header F: docs/devel/luks-detached-header.rst --=20 2.53.0