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 <f.eb...@proxmox.com> > --- > 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