Skip to content

mergerfs v2.35.0

Compare
Choose a tag to compare
@trapexit trapexit released this 28 Mar 23:39
· 118 commits to latest-release since this release
26c8b5c

Summary Changelog

  • Lots of documentation changes and tweaks.
  • Add ability to log to syslog. Used only for certain new features at startup.
  • New FUSE message processing mode. Allow for a separation between threads which are reading messages and those processing messages. See process-thread-count option.
  • Added ability to pin threads to physical or logical cores automatically. Numerous algorithms provided. Makes it easier to limit mergerfs' compute footprint while maintaining concurrency. See pin-threads option.
  • Added ability to change mergerfs' scheduling priority (default has been -10). See scheduling-priority option.
  • Added ability for mergerfs on startup only to wait for all branches to become a filesystem other than the mountpoint's. This is not a full replacement for proper dependency management via systemd or similar systems but can help. See branches-mount-timeout option.
  • Try to catch and forbid adding the target mountpoint as a branch.
  • Added ability to set branch AND mergerfs readahead from within mergerfs at startup. Larger values may improve performance when using page caching in particular. See readahead option.
  • Added ability to lazily unmount the target mountpoint when started. This helps in live upgrades of mergerfs or instances where mount -a is run. This will allow the underlying instance of mergerfs to exit once it is no longer in use while the new instance is running on top of it.
  • Added new cache.files policy per-process. Used with cache.files.process-names it can define process comm names that will have page caching enabled when matched.
  • Reject all btrfs ioctl calls made to mergerfs.
  • Optimized FUSE message handling to reduce memory allocation. Same with some internal functions like read.
  • Removed need to set use_ino, nonempty, or allow_other. They should have been always enabled for proper functionality and compatibility. Setting them is a noop.
  • Removed all splice features. Over the years there has been little evidence the feature actually improved performance but did complicate the code quite a bit. The splice options are now noops.

Documentation

https://github.com/trapexit/mergerfs/blob/2.35.0/README.md

Donations

https://github.com/trapexit/support

New Contributors

Full Changelog

2.34.1...2.35.0