From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) (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 lists.proxmox.com (Postfix) with ESMTPS id 0CE29AA32 for ; Mon, 21 Nov 2022 13:16:16 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id EADAF2C3EC for ; Mon, 21 Nov 2022 13:16:15 +0100 (CET) Received: from proxmox-new.maurer-it.com (proxmox-new.maurer-it.com [94.136.29.106]) (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 firstgate.proxmox.com (Proxmox) with ESMTPS for ; Mon, 21 Nov 2022 13:16:14 +0100 (CET) Received: from proxmox-new.maurer-it.com (localhost.localdomain [127.0.0.1]) by proxmox-new.maurer-it.com (Proxmox) with ESMTP id 75ADA449EC for ; Mon, 21 Nov 2022 13:16:14 +0100 (CET) From: =?UTF-8?q?Fabian=20Gr=C3=BCnbichler?= To: pve-devel@lists.proxmox.com Date: Mon, 21 Nov 2022 13:16:04 +0100 Message-Id: <20221121121605.1217-1-f.gruenbichler@proxmox.com> X-Mailer: git-send-email 2.30.2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-SPAM-LEVEL: Spam detection results: 0 AWL 0.137 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Subject: [pve-devel] [PATCH qemu-server 1/2] vm_resume: fix nocheck/migrate handling X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 Nov 2022 12:16:16 -0000 it's not deterministic whether the rename/move of the VM config triggered on the source side of a migration is already visible on the target side when vm_resume is executed. check the vmlist for the node where the config is currently located if $nocheck is set - it is now needed to add the forwarding DB entries to the bridge. this fixes an issue on busier or slower clusters, where pmxcfs hasn't yet processed the rename, and resuming would fail with an error about the config not existing. Reported-by: Dominik Csapak Signed-off-by: Fabian Grünbichler --- PVE/QemuServer.pm | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm index 721633d8..29110c0f 100644 --- a/PVE/QemuServer.pm +++ b/PVE/QemuServer.pm @@ -6366,7 +6366,17 @@ sub vm_resume { my $res = mon_cmd($vmid, 'query-status'); my $resume_cmd = 'cont'; my $reset = 0; - my $conf = PVE::QemuConfig->load_config($vmid); + my $conf; + if ($nocheck) { + my $vmlist = PVE::Cluster::get_vmlist(); + my $node; + if (exists($vmlist->{ids}->{$vmid})) { + $node = $vmlist->{ids}->{$vmid}->{node}; + } + $conf = PVE::QemuConfig->load_config($vmid, $node); + } else { + $conf = PVE::QemuConfig->load_config($vmid); + } if ($res->{status}) { return if $res->{status} eq 'running'; # job done, go home @@ -6375,7 +6385,6 @@ sub vm_resume { } if (!$nocheck) { - PVE::QemuConfig->check_lock($conf) if !($skiplock || PVE::QemuConfig->has_lock($conf, 'backup')); } -- 2.30.2