Timeshift and BTRFS

Hello, I have installed Fedora Workstation with a BTRFS root partition and everything works pretty well… aside from timeshift. It tells me to select a partition with the root subvolume at @. How can I make this the case? I looked here however I can’t figure out how to set this up.

NAME                            MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
nvme0n1                         259:0    0 238.5G  0 disk  
├─nvme0n1p1                     259:1    0   251M  0 part  /boot/efi
├─nvme0n1p2                     259:2    0  15.6G  0 part  [SWAP]
├─nvme0n1p3                     259:3    0     1G  0 part  /boot
├─nvme0n1p4                     259:4    0    30G  0 part  /mnt/timeshift/backup
└─nvme0n1p5                     259:5    0 191.6G  0 part  
  └─luks-bc33a26e-22d5-4e2d-8ffc-2ed7a9a6e989
                                253:0    0 191.6G  0 crypt /home

Any and all help is appreciated! Everything else works great on my NVIDIA Optimus laptop!

Possible related (was at the bottom of your link):

https://github.com/teejee2008/timeshift/issues/509

2 Likes

Working btrfs timeshift on Fedora:

Boot the LiveCD installer.

Apply this patch:

[liveuser@localhost-live ~]$ diff -u /usr/lib/python3.8/site-packages/blivet/blivet.py-invalid-restriction /usr/lib/python3.8/site-packages/blivet/blivet.py
--- /usr/lib/python3.8/site-packages/blivet/blivet.py-invalid-restriction	2020-07-14 08:31:12.492798591 -0400
+++ /usr/lib/python3.8/site-packages/blivet/blivet.py	2020-07-14 08:31:22.994577714 -0400
@@ -889,7 +889,7 @@
         max_len = 96    # No, you don't need longer names than this. Really.
         tmp = name.strip()
         tmp = tmp.replace("/", "_")
-        tmp = re.sub("[^0-9a-zA-Z._-]", "", tmp)
+        tmp = re.sub("[^0-9a-zA-Z._@-]", "", tmp)
 
         # Remove any '-' or '_' prefixes
         tmp = re.sub("^[-_]*", "", tmp)

Start the installation. Blivet will now allow you to put an @ in a btrfs subvolume name.

Pull request with the patch:

2 Likes