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 8E4F490ADF for ; Mon, 19 Dec 2022 10:24:11 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 783C52605D for ; Mon, 19 Dec 2022 10:24:11 +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:24:09 +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 7ED9844147 for ; Mon, 19 Dec 2022 10:24:09 +0100 (CET) Message-ID: <1e39f728-2e8d-dfff-ad7c-167594003ad4@proxmox.com> Date: Mon, 19 Dec 2022 10:24:08 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.5.0 Content-Language: en-US To: Fiona Ebner , pve-devel@lists.proxmox.com References: <20221216150807.1680285-1-s.sterz@proxmox.com> <93497948-82c4-27ad-db50-163f0259089d@proxmox.com> From: Stefan Sterz In-Reply-To: <93497948-82c4-27ad-db50-163f0259089d@proxmox.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-SPAM-LEVEL: Spam detection results: 0 AWL 0.492 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:24:11 -0000 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 >> --- >> 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 {