[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH for-2.7 v8 00/16] qapi netdev_add introspection
From: |
Markus Armbruster |
Subject: |
Re: [Qemu-devel] [PATCH for-2.7 v8 00/16] qapi netdev_add introspection (post-introspection cleanups subset F) |
Date: |
Thu, 07 Jul 2016 15:40:26 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) |
Eric Blake <address@hidden> writes:
> It's time to expose QMP 'netdev_add' through introspection, and
> to add boxed commands/events so that we can drastically reduce
> the number of C parameters needed to implement a command that
> matches a large QAPI type.
>
> Prerequistes:
> Markus' qapi-next branch (including my clone visitor)
>
> available as a tag at:
> git fetch git://repo.or.cz/qemu/ericb.git qapi-cleanupv8f
> or as part of my qapi branch:
> git fetch git://repo.or.cz/qemu/ericb.git qapi
>
> v7 was here:
> https://lists.gnu.org/archive/html/qemu-devel/2016-05/msg03569.html
>
> Since then, I've addressed a lot of Markus' comments:
> - drop 1/15
> - split out a couple of patches
> - wording tweaks, more justifications in some commit messages
> - rebase to master
> - allow boxed alternates, in addition to boxed unions
> - forbid empty anonymous branches for now
>
> 001/16:[----] [--] 'net: use Netdev instead of NetClientOptions in client
> init'
> 002/16:[----] [--] 'qapi: Require all branches of flat union enum to be
> covered'
> 003/16:[----] [--] 'qapi: Hide tag_name data member of variants'
> 004/16:[0006] [FC] 'qapi: Add type.is_empty() helper'
> 005/16:[down] 'qapi: Drop useless gen_err_check()'
> 006/16:[down] 'qapi-event: Simplify visit of non-implicit data'
> 007/16:[0028] [FC] 'qapi: Plumb in 'box' to qapi generator lower levels'
> 008/16:[0121] [FC] 'qapi: Implement boxed types for commands/events'
> 009/16:[0002] [FC] 'block: Simplify block_set_io_throttle'
> 010/16:[0023] [FC] 'block: Simplify drive-mirror'
> 011/16:[0026] [FC] 'qapi-event: Reduce chance of collision with event data'
> 012/16:[0042] [FC] 'qapi: Change Netdev into a flat union'
> 013/16:[----] [--] 'net: Use correct type for bool flag'
> 014/16:[0008] [FC] 'net: Complete qapi-fication of netdev_add'
> 015/16:[0037] [FC] 'qapi: Allow anonymous branch types in flat union'
> 016/16:[----] [--] 'schema: Drop pointless empty type CpuInfoOther'
Let's focus on PATCH 01-14 for now. I think we have a decent chance to
merge them quickly. 15 and 16 provide a nice extra, but I need to stare
at 15 a bit more to decide whether I like it, or how to do it
differently.
> Other patches on my QAPI queue:
> - posted, but needs another respin and might not make 2.7:
> JSON output visitor
I don't think this one's blocking anything.
> - not posted, and therefore most likely not 2.7 material:
> anything we need to do to make 'blockdev-add' work smoothly
> (we may want to allow a flat union with a default value for its
> discriminator, and/or add a way to express mutually-exclusive
> members in a qapi dict)
I'd like us to think through the needs blockdev-add may have before
rushing to add more QAPI features.
> Other potential general QAPI patches, but not necessarily that I will write:
> - Marc-Andre's cleanups
Next in line :)
> - convert more clients to use boxed commands
Can be done in parallel.
> - get rid of has_FOO when FOO is pointer
Shouldn't be hard.
> - support default values (and get rid of has_FOO when FOO has default)
I like the idea, but I think we should do some of the other things
first.
> - QAPI-fy device_add
Need something to talk about in Toronto ;)
> - ???
- Fold semantic analysis into QAPISchema (a TODO in qapi.py)
This is just paying back technical debt.
- Re: [Qemu-devel] [Qemu-block] [PATCH v8 10/16] block: Simplify drive-mirror, (continued)
[Qemu-devel] [PATCH v8 08/16] qapi: Implement boxed types for commands/events, Eric Blake, 2016/07/02
[Qemu-devel] [PATCH v8 07/16] qapi: Plumb in 'box' to qapi generator lower levels, Eric Blake, 2016/07/02
[Qemu-devel] [PATCH v8 11/16] qapi-event: Reduce chance of collision with event data, Eric Blake, 2016/07/02
[Qemu-devel] [PATCH v8 09/16] block: Simplify block_set_io_throttle, Eric Blake, 2016/07/02
[Qemu-devel] [PATCH v8 16/16] schema: Drop pointless empty type CpuInfoOther, Eric Blake, 2016/07/02
[Qemu-devel] [PATCH v8 12/16] qapi: Change Netdev into a flat union, Eric Blake, 2016/07/02
Re: [Qemu-devel] [PATCH for-2.7 v8 00/16] qapi netdev_add introspection (post-introspection cleanups subset F),
Markus Armbruster <=