I recently tried (for the first time) Btrfs on my low-end laptop (no snapshots), and I was surprised to see that the laptop ran even worse than it usually does! Turns out there was something like a "btrfs-cleaner" (or similar) running in the background, eating up almost all the CPU at all time. After about 2 days I jumped over to ext4 and everything ran just fine.
Workload was literally zero, I just logged into XFCE and could barely do anything for 2 days straight. No quotas and no compression, but it was indeed openSUSE!
That explains it, because openSUSE uses snapshots and quotas by default. It creates a snapshot before and one after every package manager interaction and cleans up old snapshots once per day.
Unfortunately, deleting snapshots with quotas is an expensive operation that needs to rescan some structures to keep the quota information consistent and that is what you're seeing.
I'm not sure that's correct. When you install openSUSE (this was a clean install) there's a checkbox that asks if you want snapshots, which I did not enable. But either way, a fresh openSUSE install with XFCE on Btrfs rendering the computer unusable for, at least, 2 days is not okay in my book, even if snapshots were enabled.
Oh, that's annoying. I wonder if there's a way with kernel configs etc to only run that thread when there's nothing better to do? Sounds like something someone would have thought of in general for background house keeping?