[Virtio-fs] vm hangs when booting with virtiofs

daggs daggs at gmx.com
Mon May 29 21:26:51 UTC 2023


Greetings German,

>
>Sent: Thursday, May 25, 2023 at 4:57 PM
>From: "German Maglione" <gmaglione at redhat.com>
>To: "daggs" <daggs at gmx.com>
>Cc: virtio-fs at redhat.com
>Subject: Re: [Virtio-fs] vm hangs when booting with virtiofs
>
>I'm copying your response to this email
> 
>> >If you swap your win11 for a linux guest (using the same libvirt xml) are you able to reproduce the error?
>> do you think the guest type matters much?
> 
>Yes, because the windows guest uses a different driver. So the problem could be virtiofsd daemon,
>the linux kernel or the windows drivers
didn't tried it yet but the behavior I'm seeing has changed, now it doesn't boots, just fails without any apparent reason

>  
>
>On Thu, May 25, 2023 at 8:38 AM daggs <daggs at gmx.com[mailto:daggs at gmx.com]> wrote:Greetings German,
>>
>>Sent: Wednesday, May 24, 2023 at 5:51 PM
>>From: "German Maglione" <gmaglione at redhat.com[mailto:gmaglione at redhat.com]>
>>To: "daggs" <daggs at gmx.com[mailto:daggs at gmx.com]>
>>Cc: virtio-fs at redhat.com[mailto:virtio-fs at redhat.com]
>>Subject: Re: [Virtio-fs] vm hangs when booting with virtiofs
>>
>>  
>>
>>>On Sat, May 20, 2023 at 12:15 PM daggs <daggs at gmx.com[mailto:daggs at gmx.com][mailto:daggs at gmx.com[mailto:daggs at gmx.com]]> wrote:Greetings,
>>>
>>>I'm trying to boot a win11 vm with a virtiofs fs and the system just hangs on boot, I'd like some incites on what is the issue.
>>>here is what I'm using:
>>>- kernel 6.3.3
>>>- libvirt 9.3.0
>>>- qemu 8.0.0
>>>- virtiofsd 1.5.1
>>>
>>>I'm using the following cmd to run virtiofsd using socket: virtiofsd --socket-path=/var/lib/libvirt/helpers_state/windows/linux_home.socket --shared-dir /home/daggs --cache auto
>>>where /var/lib/libvirt/helpers_state/windows/ is a tmpfs mount of 16K (tried with 1M too, same behavior)
>>>the virtiofsd invocation is issued inside the prepare and begin qemu hook on libvirt.
>>>I see this after virtiofsd is started: [2023-05-20T08:41:18Z INFO virtiofsd] Waiting for vhost-user socket connection...
>>>and I call it like this: nohup <virtiofsd cmd> &
>>>
>>>the vm's relevant config is this:
>>><domain type='kvm'>
>>>...
>>><memory unit='KiB'>24582144</memory>
>>><currentMemory unit='KiB'>24582144</currentMemory>
>>><memoryBacking>
>>><source type='memfd'/>
>>><access mode='shared'/>
>>></memoryBacking>
>>><vcpu placement='static'>12</vcpu>
>>><cputune>
>>><vcpupin vcpu='0' cpuset='4'/>
>>><vcpupin vcpu='1' cpuset='5'/>
>>><vcpupin vcpu='2' cpuset='6'/>
>>><vcpupin vcpu='3' cpuset='7'/>
>>><vcpupin vcpu='4' cpuset='8'/>
>>><vcpupin vcpu='5' cpuset='9'/>
>>><vcpupin vcpu='6' cpuset='10'/>
>>><vcpupin vcpu='7' cpuset='11'/>
>>><vcpupin vcpu='8' cpuset='12'/>
>>><vcpupin vcpu='9' cpuset='13'/>
>>><vcpupin vcpu='10' cpuset='14'/>
>>><vcpupin vcpu='11' cpuset='15'/>
>>><emulatorpin cpuset='0-1'/>
>>></cputune>
>>>
>>>...
>>><cpu mode='host-passthrough' check='none' migratable='on'>
>>><topology sockets='1' dies='1' cores='6' threads='2'/>
>>><cache mode='passthrough'/>
>>><feature policy='require' name='topoext'/>
>>></cpu>
>>>...
>>><filesystem type='mount' accessmode='passthrough'>
>>><driver type='virtiofs' queue='1024'/>
>>><binary path='/usr/bin/virtiofsd'/>
>>><source socket='/var/lib/libvirt/helpers_state/windows/linux_home.socket'/>
>>><target dir='linux_home'/>
>>><address type='pci' domain='0x0000' bus='0x07' slot='0x00' function='0x0'/>
>>></filesystem>
>>>...
>>></domain>
>>>
>>>I'm running it via virsh, added -d 4, no errors in the log
>>>when it is stuck, I get a black screen (using gpu pt to guest which work without it), ps shows both virsh start cmd running and stuck, two virtiofsd instances are up.
>>>any ideas how to solve this?
>>> 
>>> 
>>I forgot, could you replace your '/usr/bin/virtiofsd' with a shell script that runs `virtiofsd --log-level=debug ...` and post the log output
>> 
>>If you want, you can open an issue here:
>>https://gitlab.com/virtio-fs/virtiofsd/-/issues[https://gitlab.com/virtio-fs/virtiofsd/-/issues][https://gitlab.com/virtio-fs/virtiofsd/-/issues%5Bhttps://gitlab.com/virtio-fs/virtiofsd/-/issues%5D]
>do you mean run it from inside libvirt?
>I tried that, seems like virtiofsd fails because libvirt uses deprecated cli params
>that is why I'm using sockets and running it from outside libvirt
> 
> 
>Oh great, I didn't realize you were calling virtiofsd directly, easier then, just call
>virtiofsd --log-level=debug
> 
>and please also using strace, like:
>strace -f -o vfsd.strace.log  virtiofsd ...
here: https://bpa.st/HWCGI

btw, is it logical that after I'm taking the pid num and send term singal that there will be leftover processes?
maybe it is related to how I'm calling it (using nohup as I didn't find how to demonize it)

> 
> >> 
>>>Thanks,
>>> Thanks,
>>>
>>>Dagg
>>>
>>>_______________________________________________
>>>Virtio-fs mailing list
>>>Virtio-fs at redhat.com[mailto:Virtio-fs at redhat.com][mailto:Virtio-fs at redhat.com[mailto:Virtio-fs at redhat.com]]
>>>https://listman.redhat.com/mailman/listinfo/virtio-fs[https://listman.redhat.com/mailman/listinfo/virtio-fs]
>> 
>>
>>--
>>
>>German
>
>Thanks,
>
>Dagg
> 
>
>--
>
>German



More information about the Virtio-fs mailing list