From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by lists.proxmox.com (Postfix) with ESMTPS id 7E1BE90ABF for ; Mon, 19 Dec 2022 10:23:15 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 5DCAC26042 for ; Mon, 19 Dec 2022 10:23:15 +0100 (CET) Received: from proxmox-new.maurer-it.com (proxmox-new.maurer-it.com [94.136.29.106]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by firstgate.proxmox.com (Proxmox) with ESMTPS for ; Mon, 19 Dec 2022 10:23:13 +0100 (CET) Received: from proxmox-new.maurer-it.com (localhost.localdomain [127.0.0.1]) by proxmox-new.maurer-it.com (Proxmox) with ESMTP id 62BBB44147 for ; Mon, 19 Dec 2022 10:23:13 +0100 (CET) Message-ID: <93497948-82c4-27ad-db50-163f0259089d@proxmox.com> Date: Mon, 19 Dec 2022 10:23:08 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.5.0 To: pve-devel@lists.proxmox.com, s.sterz@proxmox.com References: <20221216150807.1680285-1-s.sterz@proxmox.com> Content-Language: en-US From: Fiona Ebner In-Reply-To: <20221216150807.1680285-1-s.sterz@proxmox.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-SPAM-LEVEL: Spam detection results: 0 AWL 0.602 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment NICE_REPLY_A -1.148 Looks like a legit reply (A) SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Subject: Re: [pve-devel] [PATCH qemu-server] cdrom handling: default to "none" if no physical drive is available 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: , X-List-Received-Date: Mon, 19 Dec 2022 09:23:15 -0000 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 :) > > Signed-off-by: Stefan Sterz > --- > 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 {