From nobody Fri Nov 14 18:03:33 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1761861079; cv=none; d=zohomail.com; s=zohoarc; b=RDDYXqP5OZPezn8D5hkHB3E2OE8UhaXJTl8ncZdLiHtzQzRd40RXxhXXmvtJpx9dJXohuLWwOaV7cjnS85h1vMrfjvC/9whhFcvpnzAuVaO2kTLhwbRDZu+rjvI1fh57LCTxaeiWqy+Lfo5NxgJ1Nh4h+KZ0C8Aty4LM05bmMp8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761861079; 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=iFLNI3Xt+VhG5ZpFCctys9d2h8+theDhwcHMrg2Y7jg=; b=DbGS2sL8kfQ1QC4kooxWqLuOQ6RWrs1k54zfLkM29mTidvZXTc8yBwu05flM9cUwc8t9RvbewTb2SANPeHuPwu+9oVZNq+RlLl/oxe7npWmwv2V3mauGiL3zdAJ8C++z71blG34lpegOady9EkwRZem87Dwq276eav1bETV2fAw= 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 lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1761861079766967.8533837206817; Thu, 30 Oct 2025 14:51:19 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vEaX1-0006uE-PO; Thu, 30 Oct 2025 17:50:07 -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 1vEaWy-0006pn-Lt for qemu-devel@nongnu.org; Thu, 30 Oct 2025 17:50: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 1vEaWm-0000fK-0m for qemu-devel@nongnu.org; Thu, 30 Oct 2025 17:50:02 -0400 Received: from mx-prod-mc-03.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-679-0Ka8PTcNMO-0qHqQ-wbv7A-1; Thu, 30 Oct 2025 17:49:44 -0400 Received: from mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.93]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 344AE1955F2D; Thu, 30 Oct 2025 21:49:43 +0000 (UTC) Received: from fedora.redhat.com (unknown [10.45.224.58]) by mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 446DC1800579; Thu, 30 Oct 2025 21:49:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1761860987; 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=iFLNI3Xt+VhG5ZpFCctys9d2h8+theDhwcHMrg2Y7jg=; b=gDNOjl9nAKPJWAF/Xp/eLYnky2t0ilbzdwBk+yGj22kmVw0jY81p1PdS/aAcdsVIoK2J6b /ezS7gWI1C+y5zqBe2Ya9KVvyC53gr20kcy9+zpu8QAYtYJR/Gy2SwTUNs2TiFUENDADjp rFTlFq8AleFYOU6y5yGHEUOTGRAcc/M= X-MC-Unique: 0Ka8PTcNMO-0qHqQ-wbv7A-1 X-Mimecast-MFC-AGG-ID: 0Ka8PTcNMO-0qHqQ-wbv7A_1761860983 From: Juraj Marcin To: qemu-devel@nongnu.org Cc: Juraj Marcin , Peter Xu , "Dr. David Alan Gilbert" , Jiri Denemark , Fabiano Rosas Subject: [PATCH v3 5/7] migration: Respect exit-on-error when migration fails before resuming Date: Thu, 30 Oct 2025 22:49:09 +0100 Message-ID: <20251030214915.1411860-6-jmarcin@redhat.com> In-Reply-To: <20251030214915.1411860-1-jmarcin@redhat.com> References: <20251030214915.1411860-1-jmarcin@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.93 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=jmarcin@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=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: 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: 1761861090020158500 Content-Type: text/plain; charset="utf-8" From: Juraj Marcin When exit-on-error was added to migration, it wasn't added to postcopy. Even though postcopy migration will usually pause and not fail, in cases it does unrecoverably fail before destination side has been started, exit-on-error will allow management to query the error. Signed-off-by: Juraj Marcin Reviewed-by: Peter Xu --- migration/postcopy-ram.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/migration/postcopy-ram.c b/migration/postcopy-ram.c index 48cbb46c27..91431f02a4 100644 --- a/migration/postcopy-ram.c +++ b/migration/postcopy-ram.c @@ -2080,11 +2080,16 @@ bool postcopy_is_paused(MigrationStatus status) =20 static void postcopy_listen_thread_bh(void *opaque) { + MigrationState *s =3D migrate_get_current(); MigrationIncomingState *mis =3D migration_incoming_get_current(); =20 migration_incoming_state_destroy(); =20 - if (mis->state =3D=3D MIGRATION_STATUS_FAILED) { + if (mis->state =3D=3D MIGRATION_STATUS_FAILED && mis->exit_on_error) { + WITH_QEMU_LOCK_GUARD(&s->error_mutex) { + error_report_err(s->error); + s->error =3D NULL; + } /* * If something went wrong then we have a bad state so exit; * we only could have gotten here if something failed before --=20 2.51.0