Shmem device support property role with 'master'(master=on) or 'peer'(master=off, default mode), which controls to copy the shared memory on migration to the destination host or not. see https://git.qemu.org/?p=qemu.git;a=blob_plain;f=docs/system/ivshmem.rst;hb=HEAD The 1st patch add attribute 'role', it based on Martin's old patch https://www.redhat.com/archives/libvir-list/2016-September/msg00536.html The 2nd patch remove shmem name check in migraiton, which allows user change shared memory path on destination host. v3 -> v2: 1. Correct description of shmem ‘role’ attribute. If there is any mistake in the description, please show me. Sorry for my poor English :) 2. Remove the inappropriate suggestion in migration log. 3. allow shmem name change in migration, instead add a new 'mem-path' attribute. v2 -> v1: Fix ivshmem testcases failure. Wang Xin (2): qemu: add support for shmem-{plain, doorbell} role conf: allow shmem name change in migration docs/formatdomain.html.in | 13 ++++++- docs/schemas/domaincommon.rng | 8 ++++ src/conf/domain_conf.c | 37 +++++++++++++++++-- src/conf/domain_conf.h | 10 +++++ src/libvirt_private.syms | 2 + src/qemu/qemu_command.c | 17 ++++++++- src/qemu/qemu_migration.c | 20 ++++++++-- .../qemuhotplug-ivshmem-plain-detach.xml | 2 +- .../qemuhotplug-ivshmem-plain.xml | 2 +- ...qemuhotplug-base-live+ivshmem-doorbell.xml | 2 +- .../qemuhotplug-base-live+ivshmem-plain.xml | 2 +- .../shmem-plain-doorbell.args | 6 ++- .../qemuxml2argvdata/shmem-plain-doorbell.xml | 4 +- .../shmem-plain-doorbell.xml | 4 +- tests/qemuxml2xmltest.c | 3 +- 15 files changed, 110 insertions(+), 22 deletions(-) -- 2.23.0