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>

    </shmem>



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



domain_conf.h

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;

};










--
libvir-list mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/libvir-list

Reply via email to