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=...
Best Regards
Eli Qiao(乔立勇)OpenStack Core team OTC Intel.
--
On 05/01/2017, 4:34 PM, "Michal Privoznik" <mprivozn(a)redhat.com> 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