On Mon, Oct 26, 2020 at 01:40:40PM +0100, Greg Kurz wrote:
> Hints should be added with the dedicated error_append_hint() API
> because we don't want to print them when using QMP. This requires
> to insert ERRP_GUARD as explained in "qapi/error.h".
>
> Signed-off-by: Greg Kurz <groug@kaod.org>
Applied to ppc-for-5.2.
> ---
> hw/ppc/spapr.c | 8 +++++---
> 1 file changed, 5 insertions(+), 3 deletions(-)
>
> diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
> index f098d0ee6d98..f51b663f7dcb 100644
> --- a/hw/ppc/spapr.c
> +++ b/hw/ppc/spapr.c
> @@ -1486,6 +1486,7 @@ void spapr_free_hpt(SpaprMachineState *spapr)
> void spapr_reallocate_hpt(SpaprMachineState *spapr, int shift,
> Error **errp)
> {
> + ERRP_GUARD();
> long rc;
>
> /* Clean up any HPT info from a previous boot */
> @@ -1500,17 +1501,18 @@ void spapr_reallocate_hpt(SpaprMachineState *spapr, int shift,
>
> if (rc < 0) {
> /* kernel-side HPT needed, but couldn't allocate one */
> - error_setg_errno(errp, errno,
> - "Failed to allocate KVM HPT of order %d (try smaller maxmem?)",
> + error_setg_errno(errp, errno, "Failed to allocate KVM HPT of order %d",
> shift);
> + error_append_hint(errp, "Try smaller maxmem?\n");
> /* This is almost certainly fatal, but if the caller really
> * wants to carry on with shift == 0, it's welcome to try */
> } else if (rc > 0) {
> /* kernel-side HPT allocated */
> if (rc != shift) {
> error_setg(errp,
> - "Requested order %d HPT, but kernel allocated order %ld (try smaller maxmem?)",
> + "Requested order %d HPT, but kernel allocated order %ld",
> shift, rc);
> + error_append_hint(errp, "Try smaller maxmem?\n");
> }
>
> spapr->htab_shift = shift;
>
>
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson