Error: Failed start validation for device - Name contains invalid character "/"

Hi! I’m on an Ubuntu 24.04 with kernel version 6.8.0-134 and just updated to Incus 7.2. Now, when I try to start a container with attached volumes, I see this error:

$ incus start jellyfin-container
Error: Failed start validation for device "custom/downloads": Name contains invalid character "/"

Here is some info from the device:

$ incus config device show jellyfin-container
custom/downloads:
  path: /mnt/downloads
  pool: lake-incus-zfs-dataset
  source: downloads
  type: disk
...

Was there any change in 7.2 that might be causing this?

The slash is bad for incus it would mean it would have to replace it with something else cause a slash means a directory.

Having it in the name of a volume means you would get something like this on the fs:

/var/lib/incus/storage-pools/default/custom/custom/downloads

The extra custom is from your volume.

That is bad for you and for incus, maybe that character has been replace in the past.

Slashes and other characters have been removed from device names in Add additional validation to device names by stgraber · Pull Request #3423 · lxc/incus · GitHub, which got into Incus 7.1.

I see I’m not giving any howto solve this.

First:

incus storage volume list lake-incus-zfs-dataset 

From that output (maybe backup somehow first):

incus storage volume rename lake-incus-zfs-dataset <old-name> <new-name>

Now you can update the device to have <new-name>.

Thanks for the tip! But the thing is that in the table I get with incus storage volume list lake-incus-zfs-dataset I don’t see the “wrong” name:

$ incus storage volume list lake-incus-zfs-dataset
+--------+-----------------------+-------------+--------------+---------+
|  TYPE  |         NAME          | DESCRIPTION | CONTENT-TYPE | USED BY |
+--------+-----------------------+-------------+--------------+---------+
| custom | downloads             |             | filesystem   | 2       |
+--------+-----------------------+-------------+--------------+---------+

Am I missing something?

I have been to fast its named “downloads” cause you call it “source=downloads” all good, just rename the device to something else like custom-downloads and you are fine.

Sorry.

P.s.: I mixed up with incus-compose.

Ah, OK. I solved it by editing the container config with:

$ incus config edit jellyfin-container

And then renaming the device to custom-downloads.

Thanks!