qemu-block
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 8/9] qapi: Factor out compat_policy_input_ok()


From: Markus Armbruster
Subject: Re: [PATCH 8/9] qapi: Factor out compat_policy_input_ok()
Date: Fri, 29 Oct 2021 16:08:11 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux)

Philippe Mathieu-Daudé <philmd@redhat.com> writes:

> On 10/26/21 11:46, Markus Armbruster wrote:
>> Philippe Mathieu-Daudé <philmd@redhat.com> writes:
>> 
>>> On 10/25/21 07:25, Markus Armbruster wrote:
>>>> The code to check policy for handling deprecated input is triplicated.
>>>> Factor it out into compat_policy_input_ok() before I mess with it in
>>>> the next commit.
>>>>
>>>> Signed-off-by: Markus Armbruster <armbru@redhat.com>
>>>> ---
>>>>  include/qapi/compat-policy.h |  7 +++++
>>>>  qapi/qapi-visit-core.c       | 18 +++++--------
>>>>  qapi/qmp-dispatch.c          | 51 +++++++++++++++++++++++++++---------
>>>>  qapi/qobject-input-visitor.c | 19 +++-----------
>>>>  4 files changed, 55 insertions(+), 40 deletions(-)
>>>
>>>> diff --git a/qapi/qmp-dispatch.c b/qapi/qmp-dispatch.c
>>>> index 8cca18c891..e29ade134c 100644
>>>> --- a/qapi/qmp-dispatch.c
>>>> +++ b/qapi/qmp-dispatch.c
>>>> @@ -28,6 +28,40 @@
>>>>  
>>>>  CompatPolicy compat_policy;
>>>>  
>>>> +static bool compat_policy_input_ok1(const char *adjective,
>>>> +                                    CompatPolicyInput policy,
>>>> +                                    ErrorClass error_class,
>>>> +                                    const char *kind, const char *name,
>>>> +                                    Error **errp)
>>>> +{
>>>> +    switch (policy) {
>>>> +    case COMPAT_POLICY_INPUT_ACCEPT:
>>>> +        return true;
>>>> +    case COMPAT_POLICY_INPUT_REJECT:
>>>> +        error_set(errp, error_class, "%s %s %s disabled by policy",
>>>> +                  adjective, kind, name);
>>>> +        return false;
>>>> +    case COMPAT_POLICY_INPUT_CRASH:
>>>> +    default:
>>>> +        abort();
>>>
>>> g_assert_not_reached() provides a nicer user experience.
>> 
>> I find it hard to care for making the experience of a crash that should
>> never ever happen nicer :)
>
> Well COMPAT_POLICY_INPUT_CRASH can happen... What about:

Point.

>    case COMPAT_POLICY_INPUT_CRASH:
>        error_printf("%s %s %s disabled by policy",
>                     adjective, kind, name);
>        abort();
>    default:
>        g_assert_not_reached();

Separate patch.  I'd prefer to delay it a bit, to avoid rocking the boat
so close to the soft freeze.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]