SocketAddress is a simple union, and simple unions are awkward: they have their variant members wrapped in a "data" object on the wire, and require additional indirections in C. Flatten it as follows: rename SocketAddress to SocketAddressLegacy, rename its flat sibling SocketAddressFlat to SocketAddress, convert all users of SocketAddressLegacy to SocketAddress, except for existing external interfaces. This completes the work outlined in commit 9445673.
Markus Armbruster (7): sockets: Prepare vsock_parse() for flattened SocketAddress sockets: Prepare inet_parse() for flattened SocketAddress qapi: New QAPI_CLONE_MEMBERS() sockets: Rename SocketAddress to SocketAddressLegacy sockets: Rename SocketAddressFlat to SocketAddress sockets: Limit SocketAddressLegacy except to external interfaces socket: Delete unused helper socket_address_crumple() block/gluster.c | 48 +++++------ block/nbd.c | 36 ++++----- block/sheepdog.c | 20 ++--- blockdev-nbd.c | 21 +++-- chardev/char-socket.c | 42 +++++----- chardev/char-udp.c | 20 +++-- hmp.c | 3 +- include/block/nbd.h | 3 + include/io/channel-socket.h | 4 +- include/qapi/clone-visitor.h | 14 ++++ include/qemu/sockets.h | 18 ++--- io/dns-resolver.c | 17 ++-- migration/rdma.c | 4 +- migration/socket.c | 20 +++-- qapi-schema.json | 36 +++++---- qapi/block-core.json | 6 +- qapi/block.json | 2 +- qapi/qapi-clone-visitor.c | 13 +++ qemu-nbd.c | 9 +-- qga/main.c | 4 +- tests/test-io-channel-socket.c | 52 +++++------- ui/vnc-auth-sasl.c | 5 +- ui/vnc.c | 68 ++++++++-------- util/qemu-sockets.c | 177 +++++++++++++++++++---------------------- 24 files changed, 328 insertions(+), 314 deletions(-) -- 2.7.4