Skip to content
SPECIFICTION
Get listed

Btrfsmaintenance vs xfs_fsr

Btrfsmaintenance

github.com

xfs_fsr

xfs.org

Side by side

FigureBtrfsmaintenancexfs_fsr
Price fromFreeFree
Free planYesYes
Free trial——
Open sourceYes—
LinuxYesYes
Self-hostedYes—
Plans published11
Spec score · Disk Defragmentation Software8.6 (#1)6.9 (#16)
PurposeBtrfsmaintenance is a set of scripts that automates maintenance tasks for btrfs filesystems.xfs_fsr reorganizes mounted XFS filesystems by improving the layout of file extents one file at a time.

Plans

Btrfsmaintenance

  • BtrfsmaintenanceFree

Btrfsmaintenance pricing →

xfs_fsr

  • xfs_fsrFree

xfs_fsr pricing →

In their own words

Btrfsmaintenance

Btrfsmaintenance is a free set of scripts for automating maintenance on Btrfs filesystems. It can run scrub, balance, trim, and defragmentation, with separate settings to enable, disable, and configure each task. Scrub reads filesystem data and metadata to check checksums, which can reveal hardware problems or bit rot; when a good redundant copy exists, it can repair data automatically. Periodic jobs can be scheduled with cron or systemd timers, though only one scheduling method can be active on a system. The project supports widely used distributions, provides installation guidance for Debian-based systems, and describes manual installation for others. On SUSE-based distributions, a zypper plugin can defragment RPM database files after package installation. Settings are designed for a default installation with Btrfs on the root filesystem and can be changed in the sysconfig file. Scrub may create intense read activity, and balance can use substantial read and write resources; task concurrency can be serialized to manage impact. Directory defragmentation does not descend into other mount points, nested subvolumes, or snapshots, which need separate paths listed. It is licensed under GPL-2.0 and available for Linux and self-hosted use.

Visit github.com

xfs_fsr

xfs_fsr is a free Linux utility in the xfsprogs project that reorganizes mounted XFS filesystems one file at a time. It copies a target file to temporary storage, then atomically exchanges the data extents of the original and temporary files. With no arguments, it chooses files with the largest extent counts and attempts the top 10% on each pass. A default run lasts up to two hours and records its stopping point for later resumption. You can name filesystems or individual files, with one pass through each target. Targets must be mounted read-write; entries without that option are skipped. Files mapped in memory and files marked no-defrag are not processed. Reorganization needs enough free space to copy the target, with space less fragmented than the original. On quota-enabled systems, the owner also needs sufficient remaining file quota. The manual says system partitions generally do not need this utility and warns that moving bootloader files can prevent booting unless lilo is rerun before reboot.

Visit xfs.org