The primary reason for XBian using the btrfs filesystem is its automated system for taking snapshots both whenever major system changes are made (such as upgrading the system) and on a scheduled basis. XBian automatically takes a snapshot when apt-get upgrade is run (either from xbian-config or from the console) and takes daily, weekly and monthly snapshots as well.
To manage snapshots, you can easily use xbian-config GUI (Hint: enabling “Advanced Mode” in Preferences gives you additional management functions)
or use the command-line tool btrfs-auto-snapshot
To get a list of all existing snapshots, you just have to run
btrfs-auto-snapshot list [{data | home | modules | root}]
with root privilege. Example:
sudo btrfs-auto-snapshot list root
will list all available snapshots for the root partition. The output will look similar to below
root/@ root/@btrfs-auto-snap_daily-2014-06-04-1905 root/@btrfs-auto-snap_weekly-2014-06-04-1905 root/@last_good_known
In this case there are two snapshots available for root - the daily and the weekly one.
To restore a snapshot, just run
btrfs-auto-snapshot rollback <snapshot>
with root privilege. The changes will take effect after a reboot. Example:
sudo btrfs-auto-snapshot rollback root/@btrfs-auto-snap_daily-2014-06-04-1905 sudo reboot
Removing a snapshot - e.g. for getting more disk space - does work analog to the rollback command.
So, you just have to run
btrfs-auto-snapshot destroy <snapshot>
with root privilege. Example:
sudo btrfs-auto-snapshot destroy root/@btrfs-auto-snap_daily-2014-06-04-1905
If you want to remove all existing snapshots at once, just execute: 1)
sudo btrfs-auto-snapshot list | grep -v /@$ | grep auto-snap | xargs -L1 sudo btrfs-auto-snapshot destroy