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/

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'.";
+    return '';
 }
 
 sub get_iso_path {
-- 
2.30.2



_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to