From nobody Fri Dec 19 13:25:56 2025 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=1688674866; cv=none; d=zohomail.com; s=zohoarc; b=Dgd7AigfyJ862ojN0cs+1/tBVIXx8GF/H9clC073P6AienHxnbtHCrkM+Wst5I9ZqUG8nEbTxnCEy8XHU5ACWcQmhc5AdR/VQ6USVvweH/iav0h0xvgt3dr6FlNfpRIicfm+DEnj7LUc6Z3X9lmtC0LIKZ9hBIJDPzLu2bkhJNo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1688674866; 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=Vw5IodGU9wzpSCGN06FmRy75JIp6B9T81N6SmE61Odk=; b=eYrdtr3Dh7wPKrrcT78ykHMGR1w+Ef335HuikbzeZ5cbXNRc+2tND/YtSyl9Md1ZlTIdJ/ocVBJjOujReeS3+5WUDrdUhCgTgQW4U4aKngV0dRcQ6S32157MiXtdvcbr6js+WghZ3ZpJ48qRAri2FyiK0xDEaSH5/s9ZDBDN8bQ= 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 168867486690188.17185370795619; Thu, 6 Jul 2023 13:21:06 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qHVS5-0002RK-UP; Thu, 06 Jul 2023 16:19:45 -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 1qHVS4-0002R6-TQ for qemu-devel@nongnu.org; Thu, 06 Jul 2023 16:19:44 -0400 Received: from smtp-out2.suse.de ([2001:67c:2178:6::1d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qHVS3-0002bz-BA for qemu-devel@nongnu.org; Thu, 06 Jul 2023 16:19:44 -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 19A351F85D; Thu, 6 Jul 2023 20:19:42 +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 511F8138EE; Thu, 6 Jul 2023 20:19:40 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id wF8pB9whp2S8GAAAMHmgww (envelope-from ); Thu, 06 Jul 2023 20:19:40 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1688674782; 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=Vw5IodGU9wzpSCGN06FmRy75JIp6B9T81N6SmE61Odk=; b=gf286uhOP8Gt8n/qv6sbQqwB3ffcWsKl9QXG77DCx1BAEp0b9u6tAvw9eIisPCEZvQUukT Ev7k3f1wGGqNJbX35XjzKKjmuxAJEGqu/khD7HS6nVpHtbaCGFz0LVshbSnFqKo774Jdwi x4DcKKGY5J5CWdAwhgXts9IM6769ZWU= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1688674782; 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=Vw5IodGU9wzpSCGN06FmRy75JIp6B9T81N6SmE61Odk=; b=1p2TqGlwkeHsvaw3FEgJN5051w6jGbEQeUs9pPTC2gUPuiBCse0EA1i2efFPnMczwCIUsr geg1kX9qFxkrw1Bw== 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 v4 4/6] migration: Set migration status early in incoming side Date: Thu, 6 Jul 2023 17:19:25 -0300 Message-Id: <20230706201927.15442-5-farosas@suse.de> X-Mailer: git-send-email 2.35.3 In-Reply-To: <20230706201927.15442-1-farosas@suse.de> References: <20230706201927.15442-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=2001:67c:2178:6::1d; 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: 1688674868064100003 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. This introduces a change in behavior, any QMP client waiting for the SETUP event will hang, unless it has previously enabled the 'events' capability. Having the capability enabled is sufficient to continue to receive the event. Reviewed-by: Peter Xu Signed-off-by: Fabiano Rosas --- migration/migration.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/migration/migration.c b/migration/migration.c index 92ad9f2470..f2d2782101 100644 --- a/migration/migration.c +++ b/migration/migration.c @@ -425,13 +425,16 @@ 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); + if (strstart(uri, "tcp:", &p) || strstart(uri, "unix:", NULL) || strstart(uri, "vsock:", NULL)) { @@ -525,7 +528,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