[pve-devel] [PATCH qemu-server v2] cdrom handling: default to "none" if no physical drive is available

Stefan Sterz s.sterz at proxmox.com
Mon Dec 19 12:14:46 CET 2022


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 `$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/119592/

Signed-off-by: Stefan Sterz <s.sterz at proxmox.com>
---
changes from v1: make the error message more concise. use shorter
forum link for better formatting in commit message (thanks @
Fiona Ebner).

 PVE/QemuServer.pm | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm
index dd6ea3e..d2f2094 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 "no physical cdrom available, defaulting back to 'none'";
+    return '';
 }
 
 sub get_iso_path {
-- 
2.30.2






More information about the pve-devel mailing list