Hi Michal Thanks for your reply, the workaround works well for me. Recreate kvm02.log and attach it for you. BTW, can you help me to understand how can you make this [1] work if it’s /dev/mqueue. As far as I know /dev/mqueue is not a block device, how can we mount /dev/mqueue to somewhere ? [1] https://libvirt.org/git/?p=libvirt.git;a=blob;f=src/qemu/qemu_domain.c;h=67e8836f3bfb722aae2921843659c3f7907b3dd1;hb=HEAD#l7329 Best Regards Eli Qiao(乔立勇)OpenStack Core team OTC Intel. -- On 05/01/2017, 4:34 PM, "Michal Privoznik" <mprivozn@xxxxxxxxxx> wrote: On 01/05/2017 08:48 AM, Qiao, Liyong wrote: > Hi Michal > > Build with the latest libvirt source code, I found failed to spawn a qemu process, not sure if something wrong with my environment, can you please help to take a look at it? > > After build the latest (3.0.0) libvirt, found failed to start an existed domain. > > root@s2600wt:/home/taget/qemu# virsh start kvm02 > error: Failed to start domain kvm02 > error: internal error: Process exited prior to exec: libvirt: QEMU Driver error : Unable to move /dev/mqueue mount: Invalid argument D'oh. There's a list of FSs that libvirt tries to preserve and bind mount from the parent namespace. But it is not fault tolerant. > > then I found you had some code get merged, and required to use /dev/mqueue Yes. Exactly. > > so mount it then start the domain again: > > mount -t mqueue none /dev/mqueue > > root@s2600wt:/home/taget/qemu# virsh start kvm02 > error: Failed to start domain kvm02 > error: An error occurred, but the cause is unknown Can you get /var/log/libvirt/qemu/kvm02.log? As a workaround you can set namespaces=[] in qemu.conf, but that is really meant just like a workaround until all of these edge cases are fixed. Meanwhile, I started working on a fix that will drop the persistent list and parse /proc/mounts instead. Michal
Attachment:
kvm02.log
Description: kvm02.log
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list