Message ID | 160371604030.305923.17464161378167312662.stgit@bahia.lan |
---|---|
State | Superseded |
Headers | show |
Series | spapr: Error handling fixes and cleanups (round 5) | expand |
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
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;
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> --- hw/ppc/spapr.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-)