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

Max R. Carrara m.carrara at proxmox.com
Tue Sep 23 13:11:28 CEST 2025


On Mon Sep 22, 2025 at 11:51 PM CEST, Stoiko Ivanov wrote:
> 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)

Oh yeah, you're completely right—didn't occur to me to have the check
there instead. I find that much nicer as well. Thanks for pointing that
out!

Just sent in a v2.

>
>
> >          $ret = 1;
> >      } else {





More information about the pmg-devel mailing list