Public bug reported:

I run Kubuntu 22.04 on my laptop,  secure boot enabled.   First time
trying to use shared filesystems between host and guest.

Created an Ubuntu 22.04 VM for testing with virt-manager.   Altered the
VM to enable shared memory:

 <memoryBacking>
    <source type="memfd"/>
    <access mode="shared"/>
  </memoryBacking>

And enabled /tmp from host to be shared (as a test):

<filesystem type="mount" accessmode="passthrough">
  <driver type="virtiofs"/>
  <source dir="/tmp"/>
  <target dir="hosttmp"/>
  <address type="pci" domain="0x0000" bus="0x08" slot="0x00" function="0x0"/>
</filesystem>

Attempting to start the VM fails:

Error starting domain: internal error: process exited while connecting to 
monitor: 2024-10-08T23:30:00.030286Z qemu-system-x86_64: -device 
vhost-user-fs-pci,id=fs0,chardev=chr-vu-fs0,tag=hosttmp,bus=pci.8,addr=0x0: 
Failed to read msg header. Read 0 instead of 12. Original request 36.
2024-10-08T23:30:00.030343Z qemu-system-x86_64: -device 
vhost-user-fs-pci,id=fs0,chardev=chr-vu-fs0,tag=hosttmp,bus=pci.8,addr=0x0: 
vhost_backend_init failed: Protocol error

Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/asyncjob.py", line 72, in cb_wrapper
    callback(asyncjob, *args, **kwargs)
  File "/usr/share/virt-manager/virtManager/asyncjob.py", line 108, in tmpcb
    callback(*args, **kwargs)
  File "/usr/share/virt-manager/virtManager/object/libvirtobject.py", line 57, 
in newfn
    ret = fn(self, *args, **kwargs)
  File "/usr/share/virt-manager/virtManager/object/domain.py", line 1384, in 
startup
    self._backend.create()
  File "/usr/lib/python3/dist-packages/libvirt.py", line 1353, in create
    raise libvirtError('virDomainCreate() failed')
libvirt.libvirtError: internal error: process exited while connecting to 
monitor: 2024-10-08T23:30:00.030286Z qemu-system-x86_64: -device 
vhost-user-fs-pci,id=fs0,chardev=chr-vu-fs0,tag=hosttmp,bus=pci.8,addr=0x0: 
Failed to read msg header. Read 0 instead of 12. Original request 36.
2024-10-08T23:30:00.030343Z qemu-system-x86_64: -device 
vhost-user-fs-pci,id=fs0,chardev=chr-vu-fs0,tag=hosttmp,bus=pci.8,addr=0x0: 
vhost_backend_init failed: Protocol error

In /var/log/libvirt/qemu/ubuntu22.04-fs0-virtiofsd.log I have:

 virtio_session_mount: Waiting for vhost-user socket connection...
  virtio_session_mount: Received vhost-user socket connection
  virtio_loop: Entry
  fv_panic: libvhost-user: Invalid slave_req_fd message (0 fd's)
  virtio_session_mount: Waiting for vhost-user socket connection...
  virtio_session_mount: Received vhost-user socket connection
  virtio_loop: Entry
  fv_panic: libvhost-user: Invalid slave_req_fd message (0 fd's)


Everything is up-to-date for 22.04.   

One google hit for the fv_panic is at Red Hat:
https://bugzilla.redhat.com/show_bug.cgi?id=1993825

One upstream seems to be:
https://github.com/torokernel/torokernel/issues/428

And a Debian report:  https://bugs.debian.org/cgi-
bin/bugreport.cgi?bug=1017394


It isn't clear to me if this is a configuration issue or a bug, but reading the 
above it sounds like it might be a limitation of the virtiofs implementation.  

I expected sharing filesystem between guest and host would work.

 lsb_release -rd
Description:    Ubuntu 22.04.5 LTS
Release:        22.04

# apt-cache policy qemu-system-common
qemu-system-common:
  Installed: 1:6.2+dfsg-2ubuntu6.22
  Candidate: 1:6.2+dfsg-2ubuntu6.22
  Version table:
 *** 1:6.2+dfsg-2ubuntu6.22 500
        500 http://us.archive.ubuntu.com/ubuntu jammy-updates/main amd64 
Packages
        500 http://security.ubuntu.com/ubuntu jammy-security/main amd64 Packages
        100 /var/lib/dpkg/status
     1:6.2+dfsg-2ubuntu6 500
        500 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 Packages

# dpkg -l | grep qemu
ii  ipxe-qemu                                     
1.21.1+git-20220113.fbbdc3926-0ubuntu1                                          
all          PXE boot firmware - ROM images for qemu
ii  ipxe-qemu-256k-compat-efi-roms                
1.0.0+git-20150424.a25a16d-0ubuntu4                                             
all          PXE boot firmware - Compat EFI ROM images for qemu
ii  libvirt-daemon-driver-qemu                    8.0.0-1ubuntu7.10             
                                                  amd64        Virtualization 
daemon QEMU connection driver
ii  qemu-block-extra                              1:6.2+dfsg-2ubuntu6.22        
                                                  amd64        extra block 
backend modules for qemu-system and qemu-utils
ii  qemu-efi                                      2022.02-3ubuntu0.22.04.2      
                                                  all          transitional 
dummy package
ii  qemu-efi-aarch64                              2022.02-3ubuntu0.22.04.2      
                                                  all          UEFI firmware 
for 64-bit ARM virtual machines
ii  qemu-efi-arm                                  2022.02-3ubuntu0.22.04.2      
                                                  all          UEFI firmware 
for 32-bit ARM virtual machines
rc  qemu-kvm                                      1:4.2-3ubuntu6.23             
                                                  amd64        QEMU Full 
virtualization on x86 hardware
ii  qemu-system-arm                               1:6.2+dfsg-2ubuntu6.22        
                                                  amd64        QEMU full system 
emulation binaries (arm)
ii  qemu-system-common                            1:6.2+dfsg-2ubuntu6.22        
                                                  amd64        QEMU full system 
emulation binaries (common files)
ii  qemu-system-data                              1:6.2+dfsg-2ubuntu6.22        
                                                  all          QEMU full system 
emulation (data files)
ii  qemu-system-gui                               1:6.2+dfsg-2ubuntu6.22        
                                                  amd64        QEMU full system 
emulation binaries (user interface and audio support)
ii  qemu-system-x86                               1:6.2+dfsg-2ubuntu6.22        
                                                  amd64        QEMU full system 
emulation binaries (x86)
ii  qemu-utils                                    1:6.2+dfsg-2ubuntu6.22        
                                                  amd64        QEMU utilities

# dpkg -l | grep libvirt
ii  gir1.2-libvirt-glib-1.0:amd64                 4.0.0-2                       
                                                  amd64        GObject 
introspection files for the libvirt-glib library
ii  libnss-libvirt:amd64                          8.0.0-1ubuntu7.10             
                                                  amd64        nss plugins 
providing IP address resolution for virtual machines
ii  libsys-virt-perl                              8.0.0-1build1                 
                                                  amd64        Perl module 
providing an extension for the libvirt library
ii  libvirt-clients                               8.0.0-1ubuntu7.10             
                                                  amd64        Programs for the 
libvirt library
ii  libvirt-daemon                                8.0.0-1ubuntu7.10             
                                                  amd64        Virtualization 
daemon
ii  libvirt-daemon-config-network                 8.0.0-1ubuntu7.10             
                                                  all          Libvirt daemon 
configuration files (default network)
ii  libvirt-daemon-config-nwfilter                8.0.0-1ubuntu7.10             
                                                  all          Libvirt daemon 
configuration files (default network filters)
ii  libvirt-daemon-driver-qemu                    8.0.0-1ubuntu7.10             
                                                  amd64        Virtualization 
daemon QEMU connection driver
ii  libvirt-daemon-system                         8.0.0-1ubuntu7.10             
                                                  amd64        Libvirt daemon 
configuration files
ii  libvirt-daemon-system-systemd                 8.0.0-1ubuntu7.10             
                                                  all          Libvirt daemon 
configuration files (systemd)
ii  libvirt-glib-1.0-0:amd64                      4.0.0-2                       
                                                  amd64        libvirt GLib and 
GObject mapping library
ii  libvirt-glib-1.0-data                         4.0.0-2                       
                                                  all          Common files for 
libvirt GLib library
ii  libvirt-ocaml                                 0.6.1.5-1build5               
                                                  amd64        OCaml bindings 
for libvirt (runtime)
ii  libvirt0:amd64                                8.0.0-1ubuntu7.10             
                                                  amd64        library for 
interfacing with different virtualization systems
ii  python3-libvirt                               8.0.0-1build1                 
                                                  amd64        libvirt Python 3 
bindings
ii  ruby-fog-libvirt                              0.8.0-1                       
                                                  all          Module for the 
'fog' gem to support libvirt
ii  ruby-libvirt                                  0.7.1-1.1build1               
                                                  amd64        Ruby bindings 
for libvirt
ii  vagrant-libvirt                               0.7.0-1                       
                                                  all          Vagrant plugin 
that adds an Libvirt provider to Vagrant

** Affects: qemu (Ubuntu)
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2083988

Title:
  Cannot use virtiofs on Ubuntu 22.04

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/qemu/+bug/2083988/+subscriptions


-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to