From nobody Tue Feb 10 17:08:42 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=none dis=none) header.from=suse.de ARC-Seal: i=1; a=rsa-sha256; t=1687803783; cv=none; d=zohomail.com; s=zohoarc; b=FcqPKlMPYsmtA8/Ax3W9bLL9KwAp+zrUcpZDd++VHiBoauietcWeCgL7TelOhw4/9Sw/qQ1GtDmUfv5GGAwNingdERApOD/qCsTnEEf3n8DMr1VcmCvMJwIrEfUO64Ldukyr1o2dT+P8/zLT/llZ2J7j7YhaBHrDJ/wlWCoslgg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1687803783; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=8L66EPNJ66pXBehDEP8FjkxFoL0dktC0MLSoPuzmmOU=; b=YLjH3AItPfjmgVpRhFRaHLG3sjqzYPS0i610WY+9M0O6qyGpn5APqE4D9CRuD8vdS310wDogqeXsU1KpUJ2xGPGGfHKSgdQW+8U1RBNrgzZIed6UCZVMZyVERK+TWXIpPUE34JZivAXOeg+7A8JZ1dcx4WYc9TABWDJgSXdFMug= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1687803783449766.4914386584409; Mon, 26 Jun 2023 11:23:03 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qDqr8-0000gg-OX; Mon, 26 Jun 2023 14:22:32 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qDqqx-0000fD-Rv for qemu-devel@nongnu.org; Mon, 26 Jun 2023 14:22:21 -0400 Received: from smtp-out2.suse.de ([195.135.220.29]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qDqqv-0006Cw-Ly for qemu-devel@nongnu.org; Mon, 26 Jun 2023 14:22:19 -0400 Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id 707A11F8B3; Mon, 26 Jun 2023 18:22:16 +0000 (UTC) Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id B1B9913483; Mon, 26 Jun 2023 18:22:14 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id iPedHlbXmWTBcgAAMHmgww (envelope-from ); Mon, 26 Jun 2023 18:22:14 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1687803736; h=from:from:reply-to: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=8L66EPNJ66pXBehDEP8FjkxFoL0dktC0MLSoPuzmmOU=; b=poPlnCHH4T1XokdIbWkWgyc0U1yF4aqV0io7woAOUdXRTc6iGsm0CZL95Su+DzraEC6LhN VgxGJ6InwUlot7E6u1E5jyaiIzigq0n8iQJcVdq4v03Pvaw3ILq0N0sw0ftrxtt+k+Vby4 W62wp+sF0FcBHxqVeCubYnxpfOVUeAE= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1687803736; h=from:from:reply-to: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=8L66EPNJ66pXBehDEP8FjkxFoL0dktC0MLSoPuzmmOU=; b=NJbnaMI02nvaj78ecOdsGUgWvXUPXH462uEZzGI/mKYkIHVOwrvmNLoBHeXYYYAYub5CEd WtlrLroLZdMsbvBQ== From: Fabiano Rosas To: qemu-devel@nongnu.org Cc: Juan Quintela , Peter Xu , Steve Sistare , =?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= , Leonardo Bras Subject: [PATCH 1/6] migration: Set migration status early in incoming side Date: Mon, 26 Jun 2023 15:22:05 -0300 Message-Id: <20230626182210.8792-2-farosas@suse.de> X-Mailer: git-send-email 2.35.3 In-Reply-To: <20230626182210.8792-1-farosas@suse.de> References: <20230626182210.8792-1-farosas@suse.de> 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=lists.gnu.org; Received-SPF: pass client-ip=195.135.220.29; envelope-from=farosas@suse.de; helo=smtp-out2.suse.de X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @suse.de) X-ZM-MESSAGEID: 1687803784727100005 Content-Type: text/plain; charset="utf-8" We are sending a migration event of MIGRATION_STATUS_SETUP at qemu_start_incoming_migration but never actually setting the state. This creates a window between qmp_migrate_incoming and process_incoming_migration_co where the migration status is still MIGRATION_STATUS_NONE. Calling query-migrate during this time will return an empty response even though the incoming migration command has already been issued. Commit 7cf1fe6d68 ("migration: Add migration events on target side") has added support to the 'events' capability to the incoming part of migration, but chose to send the SETUP event without setting the state. I'm assuming this was a mistake. To avoid introducing a change in behavior, we need to keep sending the SETUP event, even if the 'events' capability is not set. Signed-off-by: Fabiano Rosas --- migration/migration.c | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/migration/migration.c b/migration/migration.c index 7c8292d4d4..562b78261d 100644 --- a/migration/migration.c +++ b/migration/migration.c @@ -424,13 +424,26 @@ void migrate_add_address(SocketAddress *address) static void qemu_start_incoming_migration(const char *uri, Error **errp) { const char *p =3D NULL; + MigrationIncomingState *mis =3D migration_incoming_get_current(); =20 /* URI is not suitable for migration? */ if (!migration_channels_and_uri_compatible(uri, errp)) { return; } =20 - qapi_event_send_migration(MIGRATION_STATUS_SETUP); + migrate_set_state(&mis->state, MIGRATION_STATUS_NONE, + MIGRATION_STATUS_SETUP); + /* + * QMP clients should have set the 'events' migration capability + * if they want to receive this event, in which case the + * migrate_set_state() call above will have already sent the + * event. We still need to send the event for compatibility even + * if migration events are disabled. + */ + if (!migrate_events()) { + qapi_event_send_migration(MIGRATION_STATUS_SETUP); + } + if (strstart(uri, "tcp:", &p) || strstart(uri, "unix:", NULL) || strstart(uri, "vsock:", NULL)) { @@ -524,7 +537,7 @@ process_incoming_migration_co(void *opaque) =20 mis->largest_page_size =3D qemu_ram_pagesize_largest(); postcopy_state_set(POSTCOPY_INCOMING_NONE); - migrate_set_state(&mis->state, MIGRATION_STATUS_NONE, + migrate_set_state(&mis->state, MIGRATION_STATUS_SETUP, MIGRATION_STATUS_ACTIVE); =20 mis->loadvm_co =3D qemu_coroutine_self(); --=20 2.35.3