[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2] numa: clarify error message when node index
From: |
Markus Armbruster |
Subject: |
Re: [Qemu-devel] [PATCH v2] numa: clarify error message when node index is out of range in -numa dist, ... |
Date: |
Tue, 15 May 2018 19:37:02 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) |
Eric Blake <address@hidden> writes:
> On 05/15/2018 10:26 AM, Andrew Jones wrote:
>> On Tue, May 15, 2018 at 04:48:33PM +0200, Igor Mammedov wrote:
>>> When using following CLI:
>>> -numa dist,src=128,dst=1,val=20
>>> user gets a rather confusing error message:
>>> "Invalid node 128, max possible could be 128"
>>>
>>> Where 128 is number of nodes that QEMU supports (MAX_NODES),
>>> while src/dst is an index up to that limit, so it should be
>>> MAX_NODES - 1 in error message.
>>> Make error message to explicitly state valid range for node
>>> index to be more clear.
>>>
>>> Signed-off-by: Igor Mammedov <address@hidden>
>>> Reviewed-by: Andrew Jones <address@hidden>
>>> ---
>
>>> if (src >= MAX_NODES || dst >= MAX_NODES) {
>>> error_setg(errp,
>>> - "Invalid node %d, max possible could be %d",
>>> - MAX(src, dst), MAX_NODES);
>>> + "Invalid node %d, The valid node range is [0 - %d]",
>> ^ should be a '.'
>>
>> And maybe need a '.' at the end of the second sentence too, as it's not
>> an error phrase, but a real sentence.
>>
>>> + MAX(src, dst), MAX_NODES - 1);
>>> return;
>>> }
>
> Actually, error_setg() is documented as taking a single phrase (no '.'
> included), and that if you need a second sentence, it's better to use
> error_append_hint().
Correct. Providing help on valid values is exactly what
error_append_hint() is for.
> Maybe Markus has an opinion on the best way to
> word this error message.
Yes: "Parameter 'src' expects an integer between 0 and 127"
Referring to an erroneous key=value by value is not nice. What if the
value occurs in multiple places, and is valid in at least one? key is
there, it's unique[*], so use it.
[*] Except in the few places that use repeated keys to form lists. Ugh.