[libvirt] [PATCH] util: Propagate numad failures correctly

Right now, if numad fails, we raise an error but return an empty string to the caller instead of a NULL pointer, which means processing will continue and the user will see # virsh start guest error: Failed to start domain guest error: invalid argument: Failed to parse bitmap '' instead of a more reasonable # virsh start guest error: Failed to start domain guest error: operation failed: Failed to query numad for the advisory nodeset Make sure the user gets a better error message. https://bugzilla.redhat.com/show_bug.cgi?id=1716387 Signed-off-by: Andrea Bolognani <abologna@redhat.com> --- src/util/virnuma.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/util/virnuma.c b/src/util/virnuma.c index dd3fb7519e..fee0dfcd5a 100644 --- a/src/util/virnuma.c +++ b/src/util/virnuma.c @@ -66,10 +66,12 @@ virNumaGetAutoPlacementAdvice(unsigned short vcpus, virCommandSetOutputBuffer(cmd, &output); - if (virCommandRun(cmd, NULL) < 0) - virReportError(VIR_ERR_INTERNAL_ERROR, "%s", + if (virCommandRun(cmd, NULL) < 0) { + virReportError(VIR_ERR_OPERATION_FAILED, "%s", _("Failed to query numad for the " "advisory nodeset")); + VIR_FREE(output); + } return output; } -- 2.21.0

On 6/3/19 2:14 PM, Andrea Bolognani wrote:
Right now, if numad fails, we raise an error but return an empty string to the caller instead of a NULL pointer, which means processing will continue and the user will see
# virsh start guest error: Failed to start domain guest error: invalid argument: Failed to parse bitmap ''
instead of a more reasonable
# virsh start guest error: Failed to start domain guest error: operation failed: Failed to query numad for the advisory nodeset
Make sure the user gets a better error message.
https://bugzilla.redhat.com/show_bug.cgi?id=1716387
Signed-off-by: Andrea Bolognani <abologna@redhat.com> ---
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
src/util/virnuma.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/util/virnuma.c b/src/util/virnuma.c index dd3fb7519e..fee0dfcd5a 100644 --- a/src/util/virnuma.c +++ b/src/util/virnuma.c @@ -66,10 +66,12 @@ virNumaGetAutoPlacementAdvice(unsigned short vcpus,
virCommandSetOutputBuffer(cmd, &output);
- if (virCommandRun(cmd, NULL) < 0) - virReportError(VIR_ERR_INTERNAL_ERROR, "%s", + if (virCommandRun(cmd, NULL) < 0) { + virReportError(VIR_ERR_OPERATION_FAILED, "%s", _("Failed to query numad for the " "advisory nodeset")); + VIR_FREE(output); + }
return output; }

On Mon, Jun 03, 2019 at 07:14:37PM +0200, Andrea Bolognani wrote:
Right now, if numad fails, we raise an error but return an empty string to the caller instead of a NULL pointer, which means processing will continue and the user will see
# virsh start guest error: Failed to start domain guest error: invalid argument: Failed to parse bitmap ''
instead of a more reasonable
# virsh start guest error: Failed to start domain guest error: operation failed: Failed to query numad for the advisory nodeset
Make sure the user gets a better error message.
https://bugzilla.redhat.com/show_bug.cgi?id=1716387
Signed-off-by: Andrea Bolognani <abologna@redhat.com> --- src/util/virnuma.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano
participants (3)
-
Andrea Bolognani
-
Daniel Henrique Barboza
-
Ján Tomko