From 851cc07a2a99cd2407a09957e1880e015efc04e9 Mon Sep 17 00:00:00 2001 From: Maximiliano Sandoval Date: Mon, 2 Sep 2024 14:47:45 +0200 Subject: [PATCH] base plugin: do not decode the empty string If the json was empty, for example if the qemu-img command times out, a message warn "could not parse qemu-img info command output for '$filename' - $err\n"; would have been printed. This message could lead one to think the issue lies in the contents of the json, even if the previous warning said that there was a timeout. Signed-off-by: Maximiliano Sandoval --- src/PVE/Storage/Plugin.pm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/PVE/Storage/Plugin.pm b/src/PVE/Storage/Plugin.pm index 6444390..8cc693c 100644 --- a/src/PVE/Storage/Plugin.pm +++ b/src/PVE/Storage/Plugin.pm @@ -974,6 +974,10 @@ sub file_size_info { # otherwise we warn about it and try to parse the json warn $err_output; } + if (!$json) { + # skip decoding if there was no output, e.g. if there was a timeout. + return wantarray ? (undef, undef, undef, undef, $st->ctime) : undef; + } my $info = eval { decode_json($json) }; if (my $err = $@) {