Btrfs snapper: Deleting snapshot failed.

Hi,

I was trying to delete snapshot 474.
But it failed.

The current snapshot is 0 and 710. So Why I can’t delete 474?

Thanks.


kev@localhost:~> sudo snapper list       
   # | Type   | Pre # | Date                     | User | Used Space | Cleanup | Description             | Userdata      
-----+--------+-------+--------------------------+------+------------+---------+-------------------------+-------------- 
  0  | single |       |                          | root |            |         | current                 |               
  1  | single |       | Tue Jun 29 04:43:14 2021 | root |   7.02 GiB | number  | first root filesystem   |               
474  | single |       | Sun Sep 12 01:42:42 2021 | root |  16.00 KiB | number  | writable copy of #469   |               
703  | post   |   702 | Sat Nov 27 07:43:26 2021 | root | 352.00 KiB | number  |                         | important=no  
704  | pre    |       | Sat Nov 27 07:43:53 2021 | root | 496.00 KiB | number  | zypp(zypper)            | important=no  
706  | pre    |       | Sat Nov 27 20:58:26 2021 | root | 194.59 MiB | number  | zypp(zypper)            | important=no  
707  | post   |   706 | Sat Nov 27 20:58:30 2021 | root |  80.00 KiB | number  |                         | important=no  
708  | pre    |       | Sat Nov 27 22:25:06 2021 | root | 112.00 KiB | number  | yast snapper            |               
709  | single |       | Sat Nov 27 22:32:57 2021 | root |  16.00 KiB | number  | rollback backup of #474 | important=yes 
710* | single |       | Sat Nov 27 22:32:57 2021 | root |  25.09 MiB |         | writable copy of #703   |         

[FONT=monospace]kev@localhost:~> sudo btrfs subvolume get-default /  
ID 1664 gen 474209 top level 265 path @/.snapshots/710/snapshot

[FONT=monospace]kev@localhost:~> sudo snapper delete 474             
Deleting snapshot failed.
[/FONT]
[/FONT]

Hi
I suspect since it writeable… Investigate this before running!!!


btrfs property set /.snapshots/<version>/snapshot ro true

I look into snapper log.
I found this.

2021-11-27 23:02:39 MIL libsnapper(11351) Snapper.cc(Snapper):92 - Snapper constructor
2021-11-27 23:02:39 MIL libsnapper(11351) Snapper.cc(Snapper):93 - libsnapper version 0.9.0
2021-11-27 23:02:39 MIL libsnapper(11351) Snapper.cc(Snapper):94 - config_name:root disable_filters:false
2021-11-27 23:02:39 MIL libsnapper(11351) AsciiFile.cc(reload):115 - loading file /etc/snapper/configs/root
2021-11-27 23:02:39 MIL libsnapper(11351) AsciiFile.cc(getValue):242 - key:SUBVOLUME value:/
2021-11-27 23:02:39 MIL libsnapper(11351) AsciiFile.cc(getValue):242 - key:FSTYPE value:btrfs
2021-11-27 23:02:39 MIL libsnapper(11351) AsciiFile.cc(getValue):242 - key:QGROUP value:1/0
2021-11-27 23:02:39 MIL libsnapper(11351) AsciiFile.cc(getValue):242 - key:SYNC_ACL value:no
2021-11-27 23:02:39 MIL libsnapper(11351) Snapper.cc(Snapper):125 - subvolume:/ filesystem:btrfs
2021-11-27 23:02:39 MIL libsnapper(11351) Snapper.cc(loadIgnorePatterns):178 - number of ignore patterns:8
2021-11-27 23:02:39 MIL libsnapper(11351) Snapshot.cc(read):274 - found 12 snapshots
2021-11-27 23:02:39 ERR libsnapper(11351) Snapshot.cc(check):311 - pre-num 702 for post-num 703 does not exist
2021-11-27 23:02:39 ERR libsnapper(11351) Btrfs.cc(deleteSnapshot):435 - delete snapshot failed, ioctl(BTRFS_IOC_SNAP_DESTROY) failed, errno:39 (Directory not empty)
2021-11-27 23:02:39 WAR libsnapper(11351) Btrfs.cc(deleteSnapshot):436 - THROW: delete snapshot failed
2021-11-27 23:02:39 WAR libsnapper(11351) Client.cc(dispatch):1806 - CAUGHT: delete snapshot failed

I think I found my problem.
I somehow create swapfile inside the snapshot 474.

kev@localhost:~> sudo btrfs su l /mnt 
[sudo] password for root:  
ID 256 gen 30 top level 5 path @ 
ID 257 gen 474361 top level 256 path @/var 
ID 258 gen 473651 top level 256 path @/usr/local 
ID 259 gen 473651 top level 256 path @/srv 
ID 260 gen 474314 top level 256 path @/root 
ID 261 gen 473651 top level 256 path @/opt 
ID 262 gen 474361 top level 256 path @/home 
ID 263 gen 441894 top level 256 path @/boot/grub2/x86_64-efi 
ID 264 gen 334041 top level 256 path @/boot/grub2/i386-pc 
ID 265 gen 474309 top level 256 path @/.snapshots 
ID 266 gen 444339 top level 265 path @/.snapshots/1/snapshot 
ID 272 gen 150749 top level 266 path @/.snapshots/1/snapshot/swapfile 
ID 761 gen 444339 top level 262 path @/home/kev/.local/share/containers/storage/btrfs/subvolumes/a98850d993dbbbe0c60059124d98dffb29cb10b60b954eff4f8d2e0eec8018b2 
ID 762 gen 444339 top level 262 path @/home/kev/.local/share/containers/storage/btrfs/subvolumes/cdc843d40d2e2e0171869a7db886285cf035f0368b0dd0d6242402f5f90ba02f 
ID 763 gen 444339 top level 262 path @/home/kev/.local/share/containers/storage/btrfs/subvolumes/3c4ffd798070237ef26d2dd2aae2e8fc3e4646354aa68bf81ecd090293ce5deb 
ID 764 gen 444339 top level 262 path @/home/kev/.local/share/containers/storage/btrfs/subvolumes/fad9b2d3eb04d9c5683235793fc1c278ef9fc8ab7b3c063aabf819568f02ab52 
ID 765 gen 444339 top level 262 path @/home/kev/.local/share/containers/storage/btrfs/subvolumes/c011f44309d42349a33838e91b41cc1e784cb2e9e396a999e8927cea136c4ae0 
ID 766 gen 444339 top level 262 path @/home/kev/.local/share/containers/storage/btrfs/subvolumes/8e167e39fe794a7d7123af4c328f8d98597ae8190cc57d229642acbec308c98a 
ID 767 gen 444339 top level 262 path @/home/kev/.local/share/containers/storage/btrfs/subvolumes/18b0f97c772160001249d6d4473021b1e614ed443fa63d064fb5667e68b275d8 
ID 768 gen 444339 top level 262 path @/home/kev/.local/share/containers/storage/btrfs/subvolumes/de71ab53603f17a64ec095fcecaffc3e16dd4f492bf055070a217ea9e3ababa7 
ID 802 gen 40045 top level 257 path @/var/lib/machines 
ID 918 gen 444339 top level 262 path @/home/kev/.local/share/containers/storage/btrfs/subvolumes/66336808706c7315dd2875616c6fa2e8202b1fd20dd0ef9f23bca33a4c207a60 
ID 919 gen 444339 top level 262 path @/home/kev/.local/share/containers/storage/btrfs/subvolumes/f3e3e5486857376b853f9ccf757d4a1a1f8c04003c441e50de042e6f83ea34fa 
ID 920 gen 444339 top level 262 path @/home/kev/.local/share/containers/storage/btrfs/subvolumes/8c3d9d7021414959d718810aab2543b8981268c612ccdc78b9b5d08a1c21123c 
ID 1260 gen 474282 top level 265 path @/.snapshots/474/snapshot 
ID 1320 gen 473651 top level 1260 path @/.snapshots/474/snapshot/swapfile 
ID 1657 gen 474189 top level 265 path @/.snapshots/703/snapshot 
ID 1658 gen 470564 top level 265 path @/.snapshots/704/snapshot 
ID 1660 gen 473767 top level 265 path @/.snapshots/706/snapshot 
ID 1661 gen 473769 top level 265 path @/.snapshots/707/snapshot 
ID 1662 gen 474170 top level 265 path @/.snapshots/708/snapshot 
ID 1663 gen 474188 top level 265 path @/.snapshots/709/snapshot 
ID 1664 gen 474341 top level 265 path @/.snapshots/710/snapshot 
ID 1665 gen 474294 top level 265 path @/.snapshots/711/snapshot 
ID 1666 gen 474308 top level 265 path @/.snapshots/712/snapshot