[libvirt] [PATCH] qemu: ignore query-sev-capabilities errors

The query-sev-capabilities command fails if SEV is not compiled in, even though both the command and -object sev-guest are present in that case :/ Ignore the errors to avoid spamming the logs: internal error: unable to execute QEMU command 'query-sev-capabilities': SEV feature is not available Signed-off-by: Ján Tomko <jtomko@redhat.com> --- src/qemu/qemu_monitor_json.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c index c5480a2d0e..aa89ea7056 100644 --- a/src/qemu/qemu_monitor_json.c +++ b/src/qemu/qemu_monitor_json.c @@ -6423,6 +6423,12 @@ qemuMonitorJSONGetSEVCapabilities(qemuMonitorPtr mon, if (qemuMonitorJSONCommand(mon, cmd, &reply) < 0) goto cleanup; + /* Both -object sev-guest and query-sev-capabilities can be present + * even if SEV is not available */ + if (qemuMonitorJSONHasError(reply, "GenericError")) { + ret = 0; + goto cleanup; + } if (qemuMonitorJSONCheckError(cmd, reply) < 0) goto cleanup; -- 2.16.1

On Thu, Jun 14, 2018 at 09:40:04AM +0200, Ján Tomko wrote:
The query-sev-capabilities command fails if SEV is not compiled in, even though both the command and -object sev-guest are present in that case :/
Ignore the errors to avoid spamming the logs: internal error: unable to execute QEMU command 'query-sev-capabilities': SEV feature is not available
Signed-off-by: Ján Tomko <jtomko@redhat.com> --- src/qemu/qemu_monitor_json.c | 6 ++++++ 1 file changed, 6 insertions(+)
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c index c5480a2d0e..aa89ea7056 100644 --- a/src/qemu/qemu_monitor_json.c +++ b/src/qemu/qemu_monitor_json.c @@ -6423,6 +6423,12 @@ qemuMonitorJSONGetSEVCapabilities(qemuMonitorPtr mon, if (qemuMonitorJSONCommand(mon, cmd, &reply) < 0) goto cleanup;
+ /* Both -object sev-guest and query-sev-capabilities can be present + * even if SEV is not available */ + if (qemuMonitorJSONHasError(reply, "GenericError")) {
I wish QEMU has a nice "NotAvailable" error so we could distinguish it from genuine errors :-(
+ ret = 0; + goto cleanup; + }
if (qemuMonitorJSONCheckError(cmd, reply) < 0) goto cleanup;
Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|

On Thu, Jun 14, 2018 at 09:04:09 +0100, Daniel Berrange wrote:
On Thu, Jun 14, 2018 at 09:40:04AM +0200, Ján Tomko wrote:
The query-sev-capabilities command fails if SEV is not compiled in, even though both the command and -object sev-guest are present in that case :/
Ignore the errors to avoid spamming the logs: internal error: unable to execute QEMU command 'query-sev-capabilities': SEV feature is not available
Signed-off-by: Ján Tomko <jtomko@redhat.com> --- src/qemu/qemu_monitor_json.c | 6 ++++++ 1 file changed, 6 insertions(+)
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c index c5480a2d0e..aa89ea7056 100644 --- a/src/qemu/qemu_monitor_json.c +++ b/src/qemu/qemu_monitor_json.c @@ -6423,6 +6423,12 @@ qemuMonitorJSONGetSEVCapabilities(qemuMonitorPtr mon, if (qemuMonitorJSONCommand(mon, cmd, &reply) < 0) goto cleanup;
+ /* Both -object sev-guest and query-sev-capabilities can be present + * even if SEV is not available */ + if (qemuMonitorJSONHasError(reply, "GenericError")) {
I wish QEMU has a nice "NotAvailable" error so we could distinguish it from genuine errors :-(
Well, in this case it seems like not advertising the command at all if SEV is not compiled in would be a better option.

On Thu, 2018-06-14 at 09:40 +0200, Ján Tomko wrote:
The query-sev-capabilities command fails if SEV is not compiled in, even though both the command and -object sev-guest are present in that case :/
Ignore the errors to avoid spamming the logs: internal error: unable to execute QEMU command 'query-sev-capabilities': SEV feature is not available
Signed-off-by: Ján Tomko <jtomko@redhat.com> --- src/qemu/qemu_monitor_json.c | 6 ++++++ 1 file changed, 6 insertions(+)
diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c index c5480a2d0e..aa89ea7056 100644 --- a/src/qemu/qemu_monitor_json.c +++ b/src/qemu/qemu_monitor_json.c @@ -6423,6 +6423,12 @@ qemuMonitorJSONGetSEVCapabilities(qemuMonitorPtr mon, if (qemuMonitorJSONCommand(mon, cmd, &reply) < 0) goto cleanup;
+ /* Both -object sev-guest and query-sev-capabilities can be present + * even if SEV is not available */ + if (qemuMonitorJSONHasError(reply, "GenericError")) { + ret = 0; + goto cleanup; + }
if (qemuMonitorJSONCheckError(cmd, reply) < 0) goto cleanup;
Reviewed-by: Andrea Bolognani <abologna@redhat.com> -- Andrea Bolognani / Red Hat / Virtualization
participants (4)
-
Andrea Bolognani
-
Daniel P. Berrangé
-
Ján Tomko
-
Peter Krempa