From 09f1f847ae5890d0b0ea351890c364a6de6b2780 Mon Sep 17 00:00:00 2001 From: Friedrich Weber Date: Thu, 15 Jun 2023 13:36:58 +0200 Subject: [PATCH] content-dirs check: silently skip paths that cannot be resolved Since commit 8e623a2930f7aee4b3309b1f297613a250ee4698, the inequality check for content-dirs prints a warning if a content directory path could not be resolved, i.e., if `abs_path` returns undef. Among other things, `abs_path` returns undef if the path has an inner (= any but last) component that does not exist. This can happen for a storage with content type `iso,vztmpl` and `create-subdirs` set to 0, in case `template/` does not exist. In this case, the warnings printed by pvestatd are quite noisy. As missing content directories are not a problem per se, remove the warning and just ignore the directory during the inequality check. Signed-off-by: Friedrich Weber --- src/PVE/Storage/Plugin.pm | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/PVE/Storage/Plugin.pm b/src/PVE/Storage/Plugin.pm index ab6b675..3f9f1ec 100644 --- a/src/PVE/Storage/Plugin.pm +++ b/src/PVE/Storage/Plugin.pm @@ -1396,10 +1396,7 @@ sub activate_storage { for my $vtype (sort keys $scfg->{content}->%*) { my $subdir = $class->get_subdir($scfg, $vtype); my $abs_subdir = abs_path($subdir); - if (!defined($abs_subdir)) { - warn "could not get absolute path for '$subdir' - $!\n"; - next; - } + next if !defined($abs_subdir); die "storage '$storeid' uses directory $abs_subdir for multiple content types\n" if defined($abs_subdir) && defined($resolved_subdirs->{$abs_subdir});