i don’t have default storage, the only one is “btrfs” created by me with “lxd init” command, but the btrfs subvolume was created by me before the initialization
$ lxc storage ls
±------±-------------------------±-------±----------±--------+
| NAME | DESCRIPTION | DRIVER | SOURCE | USED BY |
±------±-------------------------±-------±----------±--------+
| btrfs | ----------redacted | btrfs | /DATA/lxd | 10 |
±------±-------------------------±-------±----------±--------+
Excellent, so that makes sense as btrfs pools that are mounted by LXD will have the right mount options set automatically, but those that rely on a filesystem which you mounted yourself cannot.
In your case, you’re missing the user_subvol_rm_allowed mount option. Add this to your /etc/fstab or whatever mounts your btrfs filesystem in the first place and once that’s applied and visible in /proc/self/mountinfo you should be good to go as far as containers deleting subvolumes.
Thanks Stephane for pointing out the problem.
Now i have another one: i can’t set user_subvol_rm_allowed to mount option, but this is my distro problem, not lxd one (i asked for help in arch forum: https://bbs.archlinux.org/viewtopic.php?id=246800)
meanwhile i can destroy the docker lxc container and start a new one with overlayfs as docker storage driver, is a good option in your opinion?