Incus delete iso error: Failed to run: btrfs subvolume delete

incus 6.14: After importing an iso volume:
incus storage volume import default debian-12.11.0-amd64-netinst.iso debian12-netinst --type=iso
Trying to delete it:
incus storage volume delete default custom/debian12-netinst
Gives the following error:
Error: Failed deleting subvolume "/var/lib/incus/storage-pools/default/custom/default_debian12-netinst.iso": Failed to run: btrfs subvolume delete /var/lib/incus/storage-pools/default/custom/default_debian12-netinst.iso: exit status 1 (ERROR: Not a Btrfs subvolume: Invalid argument)

root@dakara:~# incus storage create foo btrfs
Storage pool foo created
root@dakara:~# incus storage volume import foo /home/stgraber/Downloads/virtio-win-0.1.271.iso virtio --type=iso
root@dakara:~# incus storage volume delete foo virtio
Storage volume virtio deleted
root@dakara:~# incus storage delete foo
Storage pool foo deleted

I know we fixed a volume naming issue related to ISO recently so there’s a good chance that your issue was already fixed in the main branch and that will be in 6.15 next week.

Thanks. That sounds positive.
I’ll look out 6.15, test and get back to you.

Apologies for the delay in reply. Alas, I still have the same error.

$ incus storage volume delete default debian12-netinst
Error: Failed deleting subvolume "/var/lib/incus/storage-pools/default/custom/default_debian12-netinst.iso": Failed to run: btrfs subvolume delete /var/lib/incus/storage-pools/default/custom/default_debian12-netinst.iso: exit status 1 (ERROR: Not a Btrfs subvolume: Invalid argument)

No files are in the directory shown in the error message although there is a root.img file in
/var/lib/incus/storage-pools/default/custom/default_iso-volume.iso

Supporting information below.

$ incus --version
6.20

$ incus storage volume list default

+-----------------+------------------+-------------+--------------+---------+
|      TYPE       |       NAME       | DESCRIPTION | CONTENT-TYPE | USED BY |
+-----------------+------------------+-------------+--------------+---------+
| custom          | debian12-netinst |             | iso          | 0       |
+-----------------+------------------+-------------+--------------+---------+

$ incus storage volume show default custom/debian12-netinst

config:
  size: "702545920"
description: ""
name: debian12-netinst
type: custom
used_by: []
location: none
content_type: iso
project: default
created_at: 2025-07-24T16:16:06.506036644+02:00
# ls -lR /var/lib/incus/storage-pools/default/custom/
/var/lib/incus/storage-pools/default/custom/:
total 0
drwx------ 1 root root  0 Jul 24 16:36 default_debian12-netinst.iso
drwx--x--x 1 root root 16 Jul 24 16:16 default_iso-volume.iso

/var/lib/incus/storage-pools/default/custom/default_debian12-netinst.iso:
total 0

/var/lib/incus/storage-pools/default/custom/default_iso-volume.iso:
total 686080
-rw------- 1 root root 702545920 Jul 24 16:16 root.img

The problem persists also with incus v6.22.

What distribution and kernel is that running on?
Also, can you show the incus storage show default output for good measure?

cat /proc/version

Linux version 6.1.0-44-amd64 (debian-kernel@lists.debian.org) (gcc-12 (Debian 12.2.0-14+deb12u1) 12.2.0, GNU ld (GNU Binutils for Debian) 2.40) #1 SMP PREEMPT_DYNAMIC Debian 6.1.164-1 (2026-03-09)

incus storage show default

config:
  size: 200GiB
  source: /var/lib/incus/disks/default.img
description: ""
name: default
driver: btrfs
used_by:
- /1.0/instances/deb01
- /1.0/instances/u1
- /1.0/instances/win11dev
- /1.0/profiles/default
- /1.0/storage-pools/default/volumes/custom/debian12-netinst
status: Created
locations:
- none

Thanks @stgraber