[pve-devel] [PATCH storage] base plugin: do not decode the empty string
Maximiliano Sandoval
m.sandoval at proxmox.com
Mon Sep 2 14:47:45 CEST 2024
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 <m.sandoval at proxmox.com>
---
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 6444390f..8cc693c7 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 = $@) {
--
2.39.2
More information about the pve-devel
mailing list