Anthony Liguori <anth...@codemonkey.ws> writes:

> On 01/20/2010 06:07 AM, Markus Armbruster wrote:
>> Signed-off-by: Markus Armbruster<arm...@redhat.com>
>> ---
>>   monitor.c       |    4 ++--
>>   qemu-monitor.hx |    3 ++-
>>   2 files changed, 4 insertions(+), 3 deletions(-)
>>
>> diff --git a/monitor.c b/monitor.c
>> index 816f6fd..b9166c3 100644
>> --- a/monitor.c
>> +++ b/monitor.c
>> @@ -808,11 +808,11 @@ static void do_info_cpus(Monitor *mon, QObject 
>> **ret_data)
>>       *ret_data = QOBJECT(cpu_list);
>>   }
>>
>> -static void do_cpu_set(Monitor *mon, const QDict *qdict)
>> +static void do_cpu_set(Monitor *mon, const QDict *qdict, QObject **ret_data)
>>   {
>>       int index = qdict_get_int(qdict, "index");
>>       if (mon_set_cpu(index)<  0)
>> -        monitor_printf(mon, "Invalid CPU index\n");
>> +        qemu_error_new(QERR_INVALID_CPU_INDEX);
>>    
>
> Just out of curiousity, why introduce a new error verses using
> (QERR_INVALID_PARAMETER, "index")?

To avoid changing the non-QMP monitor.  If you don't care about that, I
can revert 5/6 and update 6/6.

Alternatively, here's a trick to reduce the number of client visible QMP
errors while still keeping the old diagnostic on the non-QMP monitor:

    +#define QERR_INVALID_CPU_INDEX \
    +    "{ 'class': 'InvalidParameter, 'data': { 'name': 'index' } }"
    +
     #define QERR_INVALID_PARAMETER \
         "{ 'class': 'InvalidParameter', 'data': { 'name': %s } }"


Reply via email to