As far as I’m aware, according to the btrfs man pages and other information online, scrub, balance and defrag operations apply to the whole filesystem rather than at the subvolume level.
Currently in the Btrfs Assistant application, if you have the btrfsmaintenance package installed and view the ‘Btrfs Maintenance’ tab, there’s the option of running these operations for each mount point in the filesystem.
Now my question in regards to this is whether the additional selectable mount points in the application are necessary when running these operations. To my understanding running btrfs balance/scrub/defrag on any mount point belonging to a subvolume will also apply to the entire filesystem. Would this make the Select All option and the ability to select different subvolumes in the maintenance tab redundant in that case?
In theory if this is correct, only the root mount point of each device should need to be selected for the scheduled timers.
So is there any advantage in having the extra mount points visible in the maintenance tab if they belong to the same filesystem?
I don’t know if having the ability to select all mount points in such case would be beneficial, or if it has the potential to cause excess wear level on SSDs from running unneeded repeat operations.
I think showing one mount point per device is a good idea. I can see other users not familiar with btrfs selecting all options which are not required in most cases, using a single filesystem setup.
Probably not in any practical way. That part of the application hasn’t been touched much since I created it. When I originally built that, Btrfs Assistant was a very different application than what it has evolved into.
At the time, I was just exposing a GUI to selected elements of the underlying Btrfs Maintenance config and so I supported the same options as the config.
If it was to be changed though I think some thought would need to go into it to ensure a consistent and understandable experience.
Being able to select different mount entries for the btrfs maintenance tasks may be favorable when using multiple filesystems, which I did not take into account.
Thinking about it, keeping both options on the table may be advantageous for use cases that utilize different filesystems on multiple disks.
In those scenarios in which they may not have a root subvolume, but instead use a second disk for simply hosting data (/home, /data, /games etc), exposing all of the available options to the user may be of benefit depending on the partition layout. The program won’t be able to differentiate the users primary subvolume on the additional drives, and in that situation, having one mountpoint selectable might not be the best approach. So I think there is certainly going to be edge cases where the ‘Select All’ feature provides an added benefit to users.
I think you’re absolutely correct in saying that consistency and UX would need to be taken into consideration if changes were to be made.
Btrfs Assistant is an amazing piece of software and I am grateful (and so are probably many others) that this project exists.