Fedora BTRFS and Timeshift - Long time to create a snapshot

Hello,

First time here in the Fedora community.

During installation process I setup Fedora BTRFS subvolumes in order to proper work with Timeshift software (@ and @home), but I saw that while creating a Snapshot it takes ~60s while for Arch/Manjaro it’s instantaneous like 2s.

I can confirm this long time running Fedora and also Nobara (Fedora based) on virtual machine and also running on the hardware.

Is there any particular reason for Timeshift to be slower on Fedora?

Note: I also checked OpenSUSE Tumbleweed with Snapper and it create Snapshot a lot faster too.

Are you sure timeshift is taking a btrfs snapshot and not running in rsync mode?

Yes. See attached image.

~60s compared to rsync and EXT4 is really much faster, but compared to what I see on Manjaro create a contrast as it being slow.

is there any possibility for Manjaro to have an extension or something running in the back ground that could speed up Timeshift snapshot creation?

This benchmark can be easily done trough virtual machine qemu/virt-manager. The time difference really bothers me.

It isn’t likely.

Did you check the state(enabled/disabled) of quotas in both installs?

That’s odd. Snapshots are instant for me using Fedora.

Once my knowledge on Linux is limited in general I always use default options, with is the case for BTRFS.

Could you share the command line to check quota status, so I can check and post here the result to see if this is the reason for the performance difference.

The longer time is spent at the phase:
preparing… (gear spinning)

Deleting snapshot is slow as creating new one, it takes a lot of seconds at the same phase:
preparing… (gear spinning)

Did you made any customization?

On fedora I just change subvolumes names for @ and @home and that is all.
On Nobara it’s done by default once it uses a different installation (calamares)

Try:

sudo btrfs qgroup show /

Have you tried taking a snapshot without timeshift to determine if it is a btrfs issue or a timeshift issue?

Here is the result of quota

No, I don’t, gui are very effortless.

TO try to create the snapshot without Timeshift shoud I use the syntax below?

$ btrfs subvolume snapshot /btrfs/sub1 /btrfs/sub1/snapshot

I take snapshot from @ and @home subvolumes togheter.

Quotas are enabled there. Try the same command on one of the distros that is faster.

Something like this should work:

sudo btrfs subvolume snapshot / /test-snapshot

here is the quota result for the Manjaro, faster snapshot

[sudo] password for lordsansui: 
Qgroupid    Referenced    Exclusive   Path 
--------    ----------    ---------   ---- 
0/5           32.00KiB     32.00KiB   <toplevel>
0/258          5.42GiB      5.42GiB   @cache
0/259         63.71MiB     63.71MiB   @log
0/283            0.00B        0.00B   <stale>
0/284            0.00B        0.00B   <stale>
0/285            0.00B        0.00B   <stale>
0/286            0.00B        0.00B   <stale>
0/287            0.00B        0.00B   <stale>
0/288            0.00B        0.00B   <stale>
0/289            0.00B        0.00B   <stale>
0/290            0.00B        0.00B   <stale>
0/291            0.00B        0.00B   <stale>
0/292            0.00B        0.00B   <stale>
0/293            0.00B        0.00B   <stale>
0/294            0.00B        0.00B   <stale>
0/295            0.00B        0.00B   <stale>
0/296            0.00B        0.00B   <stale>
0/297            0.00B        0.00B   <stale>
0/298            0.00B        0.00B   <stale>
0/299            0.00B        0.00B   <stale>
0/300            0.00B        0.00B   <stale>
0/301            0.00B        0.00B   <stale>
0/302            0.00B        0.00B   <stale>
0/303            0.00B        0.00B   <stale>
0/304            0.00B        0.00B   <stale>
0/305            0.00B        0.00B   <stale>
0/306            0.00B        0.00B   <stale>
0/307            0.00B        0.00B   <stale>
0/308            0.00B        0.00B   <stale>
0/309            0.00B        0.00B   <stale>
0/310            0.00B        0.00B   <stale>
0/311            0.00B        0.00B   <stale>
0/312            0.00B        0.00B   <stale>
0/313            0.00B        0.00B   <stale>
0/314            0.00B        0.00B   <stale>
0/315            0.00B        0.00B   <stale>
0/316            0.00B        0.00B   <stale>
0/317            0.00B        0.00B   <stale>
0/318            0.00B        0.00B   <stale>
0/319            0.00B        0.00B   <stale>
0/320            0.00B        0.00B   <stale>
0/321            0.00B        0.00B   <stale>
0/322            0.00B        0.00B   <stale>
0/323            0.00B        0.00B   <stale>
0/324            0.00B        0.00B   <stale>
0/325            0.00B        0.00B   <stale>
0/326            0.00B        0.00B   <stale>
0/327            0.00B        0.00B   <stale>
0/328            0.00B        0.00B   <stale>
0/329            0.00B        0.00B   <stale>
0/330            0.00B        0.00B   <stale>
0/331            0.00B        0.00B   <stale>
0/332            0.00B        0.00B   <stale>
0/333            0.00B        0.00B   <stale>
0/334            0.00B        0.00B   <stale>
0/335            0.00B        0.00B   <stale>
0/336            0.00B        0.00B   <stale>
0/337            0.00B        0.00B   <stale>
0/338            0.00B        0.00B   <stale>
0/339            0.00B        0.00B   <stale>
0/340            0.00B        0.00B   <stale>
0/341            0.00B        0.00B   <stale>
0/342            0.00B        0.00B   <stale>
0/343            0.00B        0.00B   <stale>
0/344            0.00B        0.00B   <stale>
0/345            0.00B        0.00B   <stale>
0/346            0.00B        0.00B   <stale>
0/347            0.00B        0.00B   <stale>
0/348            0.00B        0.00B   <stale>
0/349            0.00B        0.00B   <stale>
0/350            0.00B        0.00B   <stale>
0/351            0.00B        0.00B   <stale>
0/394         62.52GiB     98.82MiB   @home
0/395         22.96GiB     31.82MiB   @
0/424         68.77GiB     58.88GiB   timeshift-btrfs/snapshots/2023-02-22_09-12-01/@
0/425         28.29GiB     11.53GiB   timeshift-btrfs/snapshots/2023-02-22_09-12-01/@home
0/456         22.92GiB      2.75GiB   timeshift-btrfs/snapshots/2023-04-06_08-30-20/@
0/457         65.82GiB      4.16GiB   timeshift-btrfs/snapshots/2023-04-06_08-30-20/@home
0/458         22.89GiB    126.17MiB   timeshift-btrfs/snapshots/2023-04-08_21-30-16/@
0/459         73.69GiB     11.67GiB   timeshift-btrfs/snapshots/2023-04-08_21-30-16/@home
0/460         22.96GiB     30.21MiB   timeshift-btrfs/snapshots/2023-04-10_17-49-47/@
0/461         62.55GiB    113.11MiB   timeshift-btrfs/snapshots/2023-04-10_17-49-47/@home

So they both have quotas enabled then. That is not different. What about the manual snapshot? Did you try that yet?

Yes, just made it and it creates snapshot instantly.

looks like we are converging for something with Timeshift

This is the version of Timeshift I’m using

This happens probably because of the notification that Timeshift tries to show (but it doesn’t work), and it stalls the process for a bit.

Notice when you take a snapshot, a notify-send process is run as root:

notify-send -t 10000 -u low -i gtk-dialog-info TimeShift BTRFS Snapshot saved successfully (0s) -h string:desktop-entry:timeshift-gtk

This stalls the timeshift process until the notify-send process ends.

Hello pizzadude,

Thanks to share the possible root cause for the issue.

Is there any workaround available like disabling this notification?

I don’t know if there’s any workaround besides modifying the source for timeshift and removing the notify-send command. I’m not sure why other distros don’t have this issue. I use Fedora KDE, and judging by your screenshots it seems like you do also. Maybe it’s a Fedora KDE related issue with timeshift? Do you use wayland?

Nice you were able to find the issue, it may worth to open a bug report on Timeshift github once you have some data. Unfortunately I don’t have such know how fix the code myself. Thanks god there so many wise developers out there,

I’m using KDE too on Manjaro, I’ve been playing around on Virtual Machine to learn more how to use fedora and fedora base distros. I have a new desktop build and ready with nobara installed just waiting HD swap with personal data to move on definitive. Just preparing a smooth transition.

I mostly use wayland, sometimes I back to x11.