You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi,
I am trying to create a storage volume of type filesystem to share between two VMs, but, when I add this volume to the VM it breaks the startup and I need to kill the QEMU process to stop incus of trying to start the VM. Every time I try to stop the VM, I get the following message:
$ incus delete --force v1
Error: Failed deleting instance "v1"in project "test": Failed to create instance delete operation: Instance is busy running a "start" operation
I am using the incus 6.0 LTS installed from the backported repository of the Debian 12 (Bookworm).
PS: I was following this video to execute the commands.
I tried to debug, and I found that for this type of volume (filesystem), incus has two options: vitiofs and 9p. Every time it found the binary of virtiofsd, it uses it. The log in the file /var/log/incus/test_v1/disk.foo.log show that the parameter --cache is wrong for the version of virtiofsd I have installed. After I verified the available parameters accepted, I found that the file must use -o cache.
The workaround I found is to set the io.bus to 9p to every custom filesystem volume device in the instance. With this the VM start working again.
`$ /usr/lib/qemu/virtiofsd --help`
$ /usr/lib/qemu/virtiofsd --help
usage: /usr/lib/qemu/virtiofsd [options]
-h --help print help
-V --version print version
--print-capabilities print vhost-user.json
-d -o debug enable debug output (implies -f)
--syslog log to syslog (default stderr)
-f foreground operation
--daemonize run in background
-o cache=<mode> cache mode. could be one of "auto, always, none"
default: auto
-o flock|no_flock enable/disable flock
default: no_flock
-o log_level=<level> log level, default to "info"
level could be one of "debug, info, warn, err"
-o max_idle_threads the maximum number of idle worker threads
allowed (default: 10)
-o posix_lock|no_posix_lock
enable/disable remote posix lock
default: no_posix_lock
-o readdirplus|no_readdirplus
enable/disable readirplus
default: readdirplus except with cache=none
-o sandbox=namespace|chroot
sandboxing mode:
- namespace: mount, pid, and net
namespaces with pivot_root(2)
into shared directory
- chroot: chroot(2) into shared
directory (use in containers)
default: namespace
-o timeout=<number> I/O timeout (seconds)
default: depends on cache= option.
-o writeback|no_writeback enable/disable writeback cache
default: no_writeback
-o xattr|no_xattr enable/disable xattr
default: no_xattr
-o xattrmap=<mapping> Enable xattr mapping (enables xattr)
<mapping> is a string consists of a series of rules
e.g. -o xattrmap=:map::user.virtiofs.:
-o modcaps=CAPLIST Modify the list of capabilities
e.g. -o modcaps=+sys_admin:-chown
--rlimit-nofile=<num>set maximum number of file descriptors
(0 leaves rlimit unchanged)
default: min(1000000, fs.file-max - 16384)
if the current rlimit is lower
-o allow_direct_io|no_allow_direct_io
retain/discard O_DIRECT flags passed down
to virtiofsd from guest applications.
default: no_allow_direct_io
-o announce_submounts Announce sub-mount points to the guest
-o posix_acl/no_posix_acl Enable/Disable posix_acl. (default: disabled)
-o security_label/no_security_label Enable/Disable security label. (default: disabled)
-o killpriv_v2/no_killpriv_v2
Enable/Disable FUSE_HANDLE_KILLPRIV_V2.
(default: enabled as long as client supports it)
-o source=PATH shared directory tree
-o allow_root allow access by root
--socket-path=PATH path for the vhost-user socket
--socket-group=GRNAME name of group for the vhost-user socket
--fd=FDNUM fd number of vhost-user socket
--thread-pool-size=NUM thread pool size limit (default 0)
$ /usr/lib/qemu/virtiofsd --version
virtiofsd version 7.2.15 (Debian 1:7.2+dfsg-7+deb12u12)
Copyright (c) 2003-2022 Fabrice Bellard and the QEMU Project developers
using FUSE kernel interface version 7.36
`$ qemu-system-x86_64 --version`
$ qemu-system-x86_64 --version
QEMU emulator version 7.2.15 (Debian 1:7.2+dfsg-7+deb12u12)
Copyright (c) 2003-2022 Fabrice Bellard and the QEMU Project developers
`$ incus version`
$ incus version
Client version: 6.0.3
Server version: 6.0.3
`$ incus storage info standard`
$ incus storage info standard
info:
description: ""
driver: btrfs
name: standard
space used: 72.33GiB
total space: 3.64TiB
As I see, incus expect that you are running QEMU version 8+, because it uses the virtiofsd-rs and QEMU stop packing its own version of virtiofsd in favor of virtiofsd-rs in version 8.
I installed QEMU from stable repository (not the backported version), so I was using QEMU version 7.2.15 and this version still has virtiofsd. I upgrade the QEMU to the backported version (9.2.0) and the problem is gone, because there is no virtiofsd installed.
As I didn't see anything about this version requirement in the documentation, I think it needs to be updated.
We'll add a mention that while we do work with the older QEMU, we do indeed require the external virtiofsd to be installed as the old built-in one doesn't support what we need.
Hi,
I am trying to create a storage volume of type
filesystem
to share between two VMs, but, when I add this volume to the VM it breaks the startup and I need to kill the QEMU process to stop incus of trying to start the VM. Every time I try to stop the VM, I get the following message:I am using the incus 6.0 LTS installed from the backported repository of the Debian 12 (Bookworm).
PS: I was following this video to execute the commands.
I tried to debug, and I found that for this type of volume (filesystem), incus has two options:
vitiofs
and9p
. Every time it found the binary ofvirtiofsd
, it uses it. The log in the file/var/log/incus/test_v1/disk.foo.log
show that the parameter--cache
is wrong for the version ofvirtiofsd
I have installed. After I verified the available parameters accepted, I found that the file must use-o cache
.The workaround I found is to set the
io.bus
to9p
to every customfilesystem
volume device in the instance. With this the VM start working again.`$ /usr/lib/qemu/virtiofsd --help`
`$ cat /var/log/incus/test_v1/disk.foo.log`
`$ /usr/lib/qemu/virtiofsd --version`
`$ qemu-system-x86_64 --version`
`$ incus version`
`$ incus storage info standard`
$ incus storage info standard info: description: "" driver: btrfs name: standard space used: 72.33GiB total space: 3.64TiB
`$ incus info`
The text was updated successfully, but these errors were encountered: