[libvirt] [bug report] Requested operation is not valid: migration with shmem device is not supported

吴 雨霖 leiqi96 at hotmail.com
Mon Dec 10 08:39:37 UTC 2018

1.Description of problem:

     It report use migration with shmem device is not supported , when I use the command "virsh migrate --live" to migrate a VM to another host.

2.Version-Release number of selected component (if applicable):

     libvirt 3.9.0

     qemu-kvm  2.8.1

3.Steps to Reproduce:

1) Add serveral lines below to guest configuration

    <shmem name='my_shmem1'>

      <model type='ivshmem-plain'/>

      <size unit='M'>4</size>


2) virsh start guest-1

3) virsh migrate --live guest-1 qemu+ssh://target/system

Actual results:

     error: Requested operation is not valid: migration with shmem device is not supported

4.Code Review

   When using the command “virsh create guset-1.xml,it produce corresponding command below.

   “qemu-kvm -device ivshmem-plain, id=shmem0,memdev=shmmem-shmem0,bus=pci.0,addr=0xa”

I read qemu-doc.texi in qemu-2.8.1 source code, which have a explain of migrating ivshmem below

   “With device property @option{master=on}, the guest will copy the shared

   memory on migration to the destination host.  With @option{master=off},

   the guest will not be able to migrate with the device attached.”

But libvirt library can not recognize the property “master=on”. When I directly used command "qemu-kvm -device ivshmem-plain,id=shmem0,memdev=shmmem-shmem0,master=on,bus=pci.0,addr=0xa” to launch a guest, it can migrate in live.

    I review the code about qemu code with branch 2.8.1 and master from https://github.com/libvirt/libvirt, it have no configuration definition for “master=on”

    The below is the part of source code


struct _virDomainShmemDef {

    char *name;

    unsigned long long size;

    int model; /* enum virDomainShmemModel */

    struct {

        bool enabled;

        virDomainChrSourceDef chr;

    } server;

    struct {

        bool enabled;

        unsigned vectors;

        virTristateSwitch ioeventfd;

    } msi;

    virDomainDeviceInfo info;


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20181210/328224e5/attachment-0001.htm>

More information about the libvir-list mailing list