public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
From: Fiona Ebner <f.ebner@proxmox.com>
To: pve-devel@lists.proxmox.com, s.sterz@proxmox.com
Subject: Re: [pve-devel] [PATCH qemu-server] cdrom handling: default to "none" if no physical drive is available
Date: Mon, 19 Dec 2022 10:23:08 +0100	[thread overview]
Message-ID: <93497948-82c4-27ad-db50-163f0259089d@proxmox.com> (raw)
In-Reply-To: <20221216150807.1680285-1-s.sterz@proxmox.com>

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 <s.sterz@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 {




  reply	other threads:[~2022-12-19  9:23 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-12-16 15:08 Stefan Sterz
2022-12-19  9:23 ` Fiona Ebner [this message]
2022-12-19  9:24   ` Stefan Sterz
2022-12-19 11:23   ` Stefan Sterz

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=93497948-82c4-27ad-db50-163f0259089d@proxmox.com \
    --to=f.ebner@proxmox.com \
    --cc=pve-devel@lists.proxmox.com \
    --cc=s.sterz@proxmox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal