[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 10/10] monitor: do_info_balloon(): use QError
From: |
Luiz Capitulino |
Subject: |
Re: [Qemu-devel] [PATCH 10/10] monitor: do_info_balloon(): use QError |
Date: |
Wed, 18 Nov 2009 16:10:39 -0200 |
On Wed, 18 Nov 2009 09:58:30 -0600
Anthony Liguori <address@hidden> wrote:
> Markus Armbruster wrote:
> > Luiz Capitulino <address@hidden> writes:
> >
> >
> >> Signed-off-by: Luiz Capitulino <address@hidden>
> >> ---
> >> monitor.c | 7 ++++---
> >> 1 files changed, 4 insertions(+), 3 deletions(-)
> >>
> >> diff --git a/monitor.c b/monitor.c
> >> index 74abef9..e42434f 100644
> >> --- a/monitor.c
> >> +++ b/monitor.c
> >> @@ -1722,10 +1722,11 @@ static void do_info_balloon(Monitor *mon, QObject
> >> **ret_data)
> >>
> >> actual = qemu_balloon_status();
> >> if (kvm_enabled() && !kvm_has_sync_mmu())
> >> - monitor_printf(mon, "Using KVM without synchronous MMU, "
> >> - "ballooning disabled\n");
> >> + qemu_error_new(QERR_SERVICE_UNAVAILABLE,
> >> + "Using KVM without synchronous MMU, ballooning
> >> disabled");
> >> else if (actual == 0)
> >> - monitor_printf(mon, "Ballooning not activated in VM\n");
> >> + qemu_error_new(QERR_SERVICE_UNAVAILABLE,
> >> + "Ballooning not activated in VM");
> >> else
> >> *ret_data = QOBJECT(qint_from_int((int)(actual >> 20)));
> >> }
> >>
> >
> > In PATCH 7/10:
> >
> > +#define QERR_SERVICE_UNAVAILABLE \
> > + "{ 'class': 'ServiceUnavailable', 'data': { 'reason': %s } }"
> > +
> >
> > and
> >
> > + {
> > + .error_fmt = QERR_SERVICE_UNAVAILABLE,
> > + .desc = "%(reason)",
> > + },
> >
> > How to do a ServiceUnavailable error with a description that is not a
> > compile time literal? Add another macro and error table entry for that?
> >
>
> An error that just contains reason is a good indication that the error
> is not the right level of abstraction.
>
> There are two error conditions here. One is that kvm is in use, but
> it's missing a capability and therefore we have to disable a feature.
> The second error is that the guest did not activate a device.
Thanks for the detailed explanation, I've included the new errors.
- Re: [Qemu-devel] [PATCH 07/10] Introduce QError, (continued)
Re: [Qemu-devel] [PATCH 07/10] Introduce QError, Daniel P. Berrange, 2009/11/18
[Qemu-devel] [PATCH 10/10] monitor: do_info_balloon(): use QError, Luiz Capitulino, 2009/11/17
[Qemu-devel] [PATCH 08/10] monitor: QError support, Luiz Capitulino, 2009/11/17
[Qemu-devel] [PATCH 09/10] qdev: Use QError for 'device not found' error, Luiz Capitulino, 2009/11/17
Re: [Qemu-devel] [PATCH 00/10]: QError v4, Markus Armbruster, 2009/11/18