From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [IPv6:2a01:7e0:0:424::9]) by lore.proxmox.com (Postfix) with ESMTPS id A9C1F1FF15C for ; Fri, 13 Jun 2025 12:05:20 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id F411ADA5F; Fri, 13 Jun 2025 12:05:44 +0200 (CEST) Date: Fri, 13 Jun 2025 12:05:37 +0200 From: Fabian =?iso-8859-1?q?Gr=FCnbichler?= To: Proxmox VE development discussion References: <20250612140253.106555-1-f.ebner@proxmox.com> <20250612140253.106555-14-f.ebner@proxmox.com> In-Reply-To: <20250612140253.106555-14-f.ebner@proxmox.com> MIME-Version: 1.0 User-Agent: astroid/0.16.0 (https://github.com/astroidmail/astroid) Message-Id: <1749808976.un7vjbitah.astroid@yuna.none> X-SPAM-LEVEL: Spam detection results: 0 AWL 0.045 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment RCVD_IN_VALIDITY_CERTIFIED_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RCVD_IN_VALIDITY_RPBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RCVD_IN_VALIDITY_SAFE_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record URIBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [proxmox.com, qemuserver.pm] Subject: Re: [pve-devel] [PATCH qemu-server 13/22] vm start: move config_to_command() call further down 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: , Reply-To: Proxmox VE development discussion Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: pve-devel-bounces@lists.proxmox.com Sender: "pve-devel" On June 12, 2025 4:02 pm, Fiona Ebner wrote: > For command line generation of '-blockdev', it will be necessary to > activate the VM's volumes before calling config_to_command() and thus > also deactivate in an error scenario. Avoid the need to put more code > than necessary into the resulting eval. > > Signed-off-by: Fiona Ebner > --- > PVE/QemuServer.pm | 30 +++++++++++++++--------------- > 1 file changed, 15 insertions(+), 15 deletions(-) > > diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm > index 25ba709d..dfd4351b 100644 > --- a/PVE/QemuServer.pm > +++ b/PVE/QemuServer.pm > @@ -5625,18 +5625,6 @@ sub vm_start_nolock { > print "Resuming suspended VM\n"; > } > > - # Note that for certain cases like templates, the configuration is minimized, so need to ensure > - # the rest of the function here uses the same configuration that was used to build the command > - (my $cmd, my $vollist, my $spice_port, my $pci_devices, $conf) = config_to_command( > - $storecfg, > - $vmid, > - $conf, > - $defaults, > - $forcemachine, > - $forcecpu, > - $params->{'live-restore-backing'}, > - ); > - > my $migration_ip; > if ( > ($statefile && $statefile eq 'tcp' && $migration_type eq 'insecure') > @@ -5654,16 +5642,28 @@ sub vm_start_nolock { > ($state_cmdline, $res->{migrate}, $statefile_is_a_volume) = > PVE::QemuServer::StateFile::statefile_cmdline_option( > $storecfg, $vmid, $statefile, $migrate_opts, $migration_ip); > - push @$vollist, $statefile if $statefile_is_a_volume; > } elsif ($params->{paused}) { > $state_cmdline = ['-S']; > } > > - push $cmd->@*, $state_cmdline->@*; > - > my $memory = get_current_memory($conf->{memory}); > my $start_timeout = $params->{timeout} // config_aware_timeout($conf, $memory, $resume); this part here now operates on the original instead of the minimized config in case of a template/.. - shouldn't be a problem, but wanted to call it out in case you disagree since it wasn't mentioned.. > > + # Note that for certain cases like templates, the configuration is minimized, so need to ensure > + # the rest of the function here uses the same configuration that was used to build the command > + (my $cmd, my $vollist, my $spice_port, my $pci_devices, $conf) = config_to_command( > + $storecfg, > + $vmid, > + $conf, > + $defaults, > + $forcemachine, > + $forcecpu, > + $params->{'live-restore-backing'}, > + ); > + > + push $cmd->@*, $state_cmdline->@*; > + push @$vollist, $statefile if $statefile_is_a_volume; > + > my $pci_reserve_list = []; > for my $device (values $pci_devices->%*) { > next if $device->{mdev}; # we don't reserve for mdev devices > -- > 2.39.5 > > > > _______________________________________________ > pve-devel mailing list > pve-devel@lists.proxmox.com > https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel > > > _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel