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