[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v3 00/30] qapi/qom: QAPIfy --object and object-add
From: |
Markus Armbruster |
Subject: |
Re: [PATCH v3 00/30] qapi/qom: QAPIfy --object and object-add |
Date: |
Thu, 11 Mar 2021 15:08:12 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) |
Paolo Bonzini <pbonzini@redhat.com> writes:
> On 11/03/21 11:38, Markus Armbruster wrote:
>> Here's a differently terrible hack. We have
>> keyval_parse() visitor
>> optarg --------> QObject --------> QAPI type
>> Idea: hack the QObject. If we're working for -object, and QObject
>> maps
>> key "qom-type" to value "memory-backend-ram", get the value of
>> host-nodes, and if it's a string, parse it into a list like the opts
>> visitor does, and put that back, replacing the string value.
>> Same for other uses of Memdev and NumaNodeOptions with -object, if
>> they
>> exist.
>
> This doesn't help with backwards compatibility, since keyval loses the
> first of host-nodes=0,host-nodes=4.
You're right, I missed the fact that we rely on both hacks working
together for the full syntax.
> I would rather keep the OptsVisitor here. Do the same check for JSON
> syntax that you have in qobject_input_visitor_new_str, and whenever
> you need to walk all -object arguments, use something like this:
>
> typedef struct ObjectArgument {
> const char *id;
> QDict *json; /* or NULL for QemuOpts */
> QSIMPLEQ_ENTRY(ObjectArgument) next;
> }
>
> I already had patches in my queue to store -object in a GSList of
> dictionaries, changing it to use the above is easy enough.
I think I'd prefer following -display's precedence. See my reply to
Kevin for details.
- Re: [PATCH v3 00/30] qapi/qom: QAPIfy --object and object-add, (continued)
- Re: [PATCH v3 00/30] qapi/qom: QAPIfy --object and object-add, Kevin Wolf, 2021/03/11
- Re: [PATCH v3 00/30] qapi/qom: QAPIfy --object and object-add, Peter Krempa, 2021/03/11
- Re: [PATCH v3 00/30] qapi/qom: QAPIfy --object and object-add, Kevin Wolf, 2021/03/11
- Re: [PATCH v3 00/30] qapi/qom: QAPIfy --object and object-add, Peter Krempa, 2021/03/11
- Re: [PATCH v3 00/30] qapi/qom: QAPIfy --object and object-add, Markus Armbruster, 2021/03/11
- Re: [PATCH v3 00/30] qapi/qom: QAPIfy --object and object-add, Paolo Bonzini, 2021/03/11
- Re: [PATCH v3 00/30] qapi/qom: QAPIfy --object and object-add, Kevin Wolf, 2021/03/11
- Re: [PATCH v3 00/30] qapi/qom: QAPIfy --object and object-add, Paolo Bonzini, 2021/03/11
- Re: [PATCH v3 00/30] qapi/qom: QAPIfy --object and object-add, Markus Armbruster, 2021/03/11
- Re: [PATCH v3 00/30] qapi/qom: QAPIfy --object and object-add, Paolo Bonzini, 2021/03/11
- Re: [PATCH v3 00/30] qapi/qom: QAPIfy --object and object-add,
Markus Armbruster <=
- Re: [PATCH v3 00/30] qapi/qom: QAPIfy --object and object-add, Paolo Bonzini, 2021/03/11
- Re: [PATCH v3 00/30] qapi/qom: QAPIfy --object and object-add, Markus Armbruster, 2021/03/12
- Re: [PATCH v3 00/30] qapi/qom: QAPIfy --object and object-add, Paolo Bonzini, 2021/03/12
- Re: [PATCH v3 00/30] qapi/qom: QAPIfy --object and object-add, Peter Krempa, 2021/03/12
- Re: [PATCH v3 00/30] qapi/qom: QAPIfy --object and object-add, Markus Armbruster, 2021/03/13
- Re: [PATCH v3 00/30] qapi/qom: QAPIfy --object and object-add, Kevin Wolf, 2021/03/15
- Re: [PATCH v3 00/30] qapi/qom: QAPIfy --object and object-add, Markus Armbruster, 2021/03/15
- Re: [PATCH v3 00/30] qapi/qom: QAPIfy --object and object-add, Kevin Wolf, 2021/03/15