File mergerfs.changes of Package mergerfs
-------------------------------------------------------------------
Wed Mar 20 13:14:36 UTC 2024 - Paolo Stivanin <info@paolostivanin.com>
- Update to 2.40.2:
* Add export-support option as a possible workaround for NFS EIO issue. Set to false.
* Add details to README regarding remote filesystems.
* Fix intermittent error of EIO when used with NFS.
* Special case O_TMPFILE in preload. Fixes incorrect permissions when used.
-------------------------------------------------------------------
Wed Jan 31 15:01:07 UTC 2024 - Paolo Stivanin <info@paolostivanin.com>
- Update to 2.39.0:
* Improvement: Rework how threadpools queue depth. There was a rare bug that affected 1 user that
lead to the pool believing there were no queue slots open when there should have been.
* Improvement: Better compatibility with older versions of MUSL.
* Improvement: Print warnings to stderr and syslog if run as non-root indicating mergerfs may not work correctly.
* Improvement: Change how allow_other auto-setting works. Only set if running as root for those users who are
on shared hosts with user_allow_other disabled and all activity is done as their user id. There may still
be edge cases that fail but if it works for them I don't want to disallow it.
* Add flushonclose feature. Takes advantage of a newer FUSE feature which gives the server control over if
a flush is issued at file close. Defaults to a less aggressive policy of only flushing when a file is opened for write.
* Changed flush-on-close to default to opened-for-write
* Fix user.mergerfs.pid queries
* Misc updates to docs
* Fix deadlock when exiting mergerfs
* readdir policies: func.readdir=X where X is seq, cor, or cosr.
* Add invalidation of gid cache via SIGUSR2 (which also triggers a full memory gc)
* Allow user to define depth of process thread message queues. Previously these were unbounded and "FORGET" message floods would bloat memory.
* O_DIRECT now supported, mostly. If software attempt to change the O_DIRECT flag on the fly using fcntl(F_SETFL) it won't work as that is not supported by FUSE.
* Fix bug in moveonenospc file moves when the file was opened in append mode.
* When a create function fails with EROFS (which really only happens when an ext4 filesystem errors) the relevant branch
will be marked as mode = RO and the call tried again.
* Add ability to trigger memory cleanup via custom ioctl calls or signal SIGUSR2.
* Add ability to trigger invalidation of all nodes to flush memory using custom ioctl or signal SIGUSR1.
* Change default read-thread-count from -1 to 0
* Remove duplicate entries in docs
* 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.
-------------------------------------------------------------------
Sun Feb 7 11:20:10 UTC 2021 - Antonio Larrosa <alarrosa@suse.com>
- Initial release of mergerfs 2.33.3