On 12/19/22 10:23, Fiona Ebner wrote: > Am 16.12.22 um 16:08 schrieb Stefan Sterz: >> when a vm is configured to use the physical cd rom drive but there is >> no such drive a cryptic "uninitialized value" error is thrown. this >> is due to the `$path` not being defined in `sub >> print_drive_commandline_full` in this case. warn that no cd rom drive >> is available and default back to using "none" as media instead. >> >> note that the error was basically cosmetic as the vm would start just >> fine. >> >> forum thread: >> https://forum.proxmox.com/threads/use-of-uninitialized-value-path-in-pattern-match-m-at-usr-share-perl5-pve-qemuserver-pm-line-1622.119592/ > > Note that the thread title is not needed for the link to work: > https://forum.proxmox.com/threads/119592/ > Would avoid the long line in the commit message :)
oh, thanks for the hint! :) > >> >> Signed-off-by: Stefan Sterz <s.st...@proxmox.com> >> --- >> PVE/QemuServer.pm | 3 +++ >> 1 file changed, 3 insertions(+) >> >> diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm >> index dd6ea3e..bc935df 100644 >> --- a/PVE/QemuServer.pm >> +++ b/PVE/QemuServer.pm >> @@ -1292,6 +1292,9 @@ sub get_cdrom_path { >> return $cdrom_path = "/dev/cdrom" if -l "/dev/cdrom"; >> return $cdrom_path = "/dev/cdrom1" if -l "/dev/cdrom1"; >> return $cdrom_path = "/dev/cdrom2" if -l "/dev/cdrom2"; >> + >> + warn "there is no physical cdrom drive that can be used. defaulting >> back to 'none'."; > > Missing newline at the end of the warning message. Perl will auto-attach > module and line number then, which gets ugly from a user perspective ;) > > Nit: CD-ROM instead of cdrom > > IMHO "defaulting back to 'none'." is a bit misleading. We don't actually > do that in the code, just also return an empty path. And it might sound > a bit weird to users with the quoted 'none'. Maybe the first sentence is > already enough or you can reword the message a bit? > >> + return ''; > > Should we cache the fact that there is no drive too? Would potentially > avoid printing the warning multiple times and testing again. > >> } >> >> sub get_iso_path { _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel