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
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs