[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.
[PATCH 7/9] qapi: Generalize enum member policy checking, Markus Armbruster, 2021/10/25
[PATCH 1/9] qapi: New special feature flag "unstable", Markus Armbruster, 2021/10/25