Let's see if the subject works if one is in need of reviews =)
Yet another qemu device, right? We even have an existing device for
that, right? That should be pretty straight-forward and easy, right?
Well, let's see... I, at least, tried splitting the patches for you
to be as easy to review as possible.
Just in case you're trying out the hot-(un)plug on an upstream QEMU,
make sure you do it on i440fx machine, not on q35 one, otherwise it
will not work nicely (or rather at all).
Resolves:
https://bugzilla.redhat.com/show_bug.cgi?id=1347049
Martin Kletzander (20):
qemuhotplugtest: Only read result_filename if used
schema: Allow shmem to have alias
conf: Allow copying of shmem defs
conf: Add support for shmem model
conf: Add support for shmem role
qemu: Add support for shmem role
qemu: Add newer shmem models
qemu: Add capabilities for ivshmem-{plain,doorbell}
qemu: Save various defaults for shmem
qemu: Disable migration for shmem with peer role
qemu: Make qemuBuildShmemDevStr static
qemu: Rename qemuBuildShmemDevStr to qemuBuildShmemDevLegacyStr
qemu: Move common checks outside qemuBuildShmemDevLegacyStr
qemu: Reorder shmem params nicely
qemu: Abstract shmem socket path preparation
qemu: Rename qemuBuildShmemBackendStr to qemuBuildShmemBackendChrStr
qemu: Support newer ivshmem device variants
qemu: Add qemuAssignDeviceShmemAlias and use it
conf: Add some shmem helpers for future use
qemu: Add support for hot/cold-(un)plug of shmem devices
docs/formatdomain.html.in | 10 +-
docs/schemas/domaincommon.rng | 22 ++
src/conf/domain_conf.c | 154 ++++++++++++-
src/conf/domain_conf.h | 30 +++
src/libvirt_private.syms | 9 +
src/qemu/qemu_alias.c | 32 ++-
src/qemu/qemu_alias.h | 4 +
src/qemu/qemu_capabilities.c | 4 +
src/qemu/qemu_capabilities.h | 2 +
src/qemu/qemu_command.c | 245 ++++++++++++++++----
src/qemu/qemu_command.h | 14 +-
src/qemu/qemu_domain.c | 46 ++++
src/qemu/qemu_domain.h | 3 +
src/qemu/qemu_driver.c | 39 +++-
src/qemu/qemu_hotplug.c | 247 ++++++++++++++++++++-
src/qemu/qemu_hotplug.h | 6 +
src/qemu/qemu_migration.c | 13 ++
.../caps_2.6.0-gicv2.aarch64.xml | 2 +
.../caps_2.6.0-gicv3.aarch64.xml | 2 +
tests/qemucapabilitiesdata/caps_2.6.0.ppc64le.xml | 2 +
tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml | 2 +
tests/qemucapabilitiesdata/caps_2.7.0.x86_64.xml | 2 +
tests/qemuhotplugtest.c | 23 +-
.../qemuhotplug-ivshmem-doorbell-detach.xml | 7 +
.../qemuhotplug-ivshmem-doorbell.xml | 4 +
.../qemuhotplug-ivshmem-plain-detach.xml | 6 +
.../qemuhotplug-ivshmem-plain.xml | 3 +
...muhotplug-base-live+ivshmem-doorbell-detach.xml | 1 +
.../qemuhotplug-base-live+ivshmem-doorbell.xml | 65 ++++++
.../qemuhotplug-base-live+ivshmem-plain-detach.xml | 1 +
.../qemuhotplug-base-live+ivshmem-plain.xml | 58 +++++
.../qemuxml2argv-shmem-plain-doorbell.args | 46 ++++
...m.xml => qemuxml2argv-shmem-plain-doorbell.xml} | 15 +-
tests/qemuxml2argvdata/qemuxml2argv-shmem.args | 16 +-
tests/qemuxml2argvdata/qemuxml2argv-shmem.xml | 6 +-
tests/qemuxml2argvtest.c | 3 +
...xml => qemuxml2xmlout-shmem-plain-doorbell.xml} | 24 +-
tests/qemuxml2xmloutdata/qemuxml2xmlout-shmem.xml | 15 +-
tests/qemuxml2xmltest.c | 2 +
39 files changed, 1092 insertions(+), 93 deletions(-)
create mode 100644 tests/qemuhotplugtestdevices/qemuhotplug-ivshmem-doorbell-detach.xml
create mode 100644 tests/qemuhotplugtestdevices/qemuhotplug-ivshmem-doorbell.xml
create mode 100644 tests/qemuhotplugtestdevices/qemuhotplug-ivshmem-plain-detach.xml
create mode 100644 tests/qemuhotplugtestdevices/qemuhotplug-ivshmem-plain.xml
create mode 120000
tests/qemuhotplugtestdomains/qemuhotplug-base-live+ivshmem-doorbell-detach.xml
create mode 100644
tests/qemuhotplugtestdomains/qemuhotplug-base-live+ivshmem-doorbell.xml
create mode 120000
tests/qemuhotplugtestdomains/qemuhotplug-base-live+ivshmem-plain-detach.xml
create mode 100644 tests/qemuhotplugtestdomains/qemuhotplug-base-live+ivshmem-plain.xml
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-shmem-plain-doorbell.args
copy tests/qemuxml2argvdata/{qemuxml2argv-shmem.xml =>
qemuxml2argv-shmem-plain-doorbell.xml} (78%)
copy tests/qemuxml2xmloutdata/{qemuxml2xmlout-shmem.xml =>
qemuxml2xmlout-shmem-plain-doorbell.xml} (78%)
--
2.10.0