mergerfs v2.35.0 released
Added 2023-03-30 03:28:54 +0000 UTChttps://github.com/trapexit/mergerfs/releases/tag/2.35.0
A big list of "quality of life" features.
- 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.