That was lots of code and hash map touching for the case where one
avoided a extra stat, which result probably was in the page cache
anyway, for the case that a backup has a comment.
A case which is rather be unlikely - comments are normally done for
the occasional explicit backup (e.g., before major upgrade, before a
configuration change in that guest, ...), at least not worth some
relatively complicated effort making that sub harder to read and
maintain.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
- my $has_comment = {};
-
foreach my $fn (<$path/*>) {
foreach my $fn (<$path/*>) {
-
- if (COMMENT_EXT eq substr($fn, -length(COMMENT_EXT))) {
- my $real_fn = substr($fn, 0, length($fn) - length(COMMENT_EXT));
- if (!defined($has_comment->{$real_fn})) {
- $has_comment->{$real_fn} = (-f $fn);
- }
- next; # we do not need to do anything with comments themselves
- }
-
my $st = File::stat::stat($fn);
next if (!$st || S_ISDIR($st->mode));
my $st = File::stat::stat($fn);
next if (!$st || S_ISDIR($st->mode));
}
my $comment_fn = $original.COMMENT_EXT;
}
my $comment_fn = $original.COMMENT_EXT;
- if (!defined($has_comment->{$original})) {
- $has_comment->{$original} = (-f $comment_fn);
- }
-
- if ($has_comment->{$original}) {
my $comment = PVE::Tools::file_read_firstline($comment_fn);
$info->{comment} = $comment if defined($comment);
}
my $comment = PVE::Tools::file_read_firstline($comment_fn);
$info->{comment} = $comment if defined($comment);
}