diff options
author | Tony Asleson <tasleson@redhat.com> | 2022-08-31 15:08:09 -0500 |
---|---|---|
committer | Tony Asleson <tasleson@redhat.com> | 2022-09-16 10:49:37 -0500 |
commit | f4c03faa6556489444cf9402b2a35c46e7282ed3 (patch) | |
tree | 48306be45a6556268fc8496f23d6882456397edf /daemons | |
parent | 85fcbfd9d7697d3954c4f13a791f127205e260ee (diff) | |
download | lvm2-f4c03faa6556489444cf9402b2a35c46e7282ed3.tar.gz |
lvmdbusd: Raise LvmBug exception for invalid JSON
This will cause lvm debug data to get logged if it's available.
Diffstat (limited to 'daemons')
-rw-r--r-- | daemons/lvmdbusd/cmdhandler.py | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/daemons/lvmdbusd/cmdhandler.py b/daemons/lvmdbusd/cmdhandler.py index 102844739..1a7943f01 100644 --- a/daemons/lvmdbusd/cmdhandler.py +++ b/daemons/lvmdbusd/cmdhandler.py @@ -621,9 +621,9 @@ def lvm_full_report_json(): rc, out, err = call(cmd) # When we have an exported vg the exit code of lvs or fullreport will be 5 if rc == 0 or rc == 5: - # With the current implementation, if we are using the shell then we - # are using JSON and JSON is returned back to us as it was parsed to - # figure out if we completed OK or not + # If the 'call' implementation is lvmshell, the out is a dictionary as lvmshell has to + # parse the output to get the exit value. When doing fork & exec, out is a string + # representing the JSON. TODO: Make this consistent between implementations. if cfg.SHELL_IN_USE: assert(type(out) == dict) return out @@ -633,7 +633,7 @@ def lvm_full_report_json(): except json.decoder.JSONDecodeError as joe: log_error("JSONDecodeError %s, \n JSON=\n%s\n" % (str(joe), out)) - raise joe + raise LvmBug("'fullreport' returned invalid JSON") raise LvmBug("'fullreport' exited with code '%d'" % rc) |