[pmg-devel] [PATCH pmg-api master v1] config: silence ENOENT when comparing SMTP filter config

Stoiko Ivanov s.ivanov at proxmox.com
Mon Sep 22 23:51:20 CEST 2025


works as advertised - still one question inline:

On Mon, 22 Sep 2025 17:24:57 +0200
"Max R. Carrara" <m.carrara at proxmox.com> wrote:

> If `/run/pmg-smtp-filter.cfg` doesn't yet exist when `pmgsync.service`
> runs, a "No such file or directory" warning is logged. While this has
> been around since a while [0], the warning might look suspicious to
> some (as it did to me during testing).
> 
> Therefore, handle ENOENT separately without emitting any warnings.
> 
> [0]: https://git.proxmox.com/?p=pmg-api.git;a=commitdiff;h=e5b31a6178118981e784b225941f1502ba644ee5
> 
> Signed-off-by: Max R. Carrara <m.carrara at proxmox.com>
> ---
>  src/PMG/Config.pm | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/src/PMG/Config.pm b/src/PMG/Config.pm
> index 44e5463..46e8aa2 100644
> --- a/src/PMG/Config.pm
> +++ b/src/PMG/Config.pm
> @@ -1909,7 +1909,9 @@ sub compare_smtp_filter_config {
>      my $old;
>      eval { $old = PVE::Tools::file_get_contents($smtp_filter_cfg); };
>  
> -    if (my $err = $@) {
> +    if ($!{ENOENT}) {
> +        $ret = 1;
> +    } elsif (my $err = $@) {
>          syslog('warning', "reloading pmg-smtp-filter: $err");
why not simply replace the line above with:
`syslog('warning', "reloading pmg-smtp-filter: $err") if ! $!{ENOENT};`
(this would seem a bit more readable to me - but maybe I'm missing
something)


>          $ret = 1;
>      } else {





More information about the pmg-devel mailing list