Releases: trapexit/mergerfs
2.41.0-rc3
This is a release candidate and should NOT be used by casual users!! Casual users should use v2.40.2
This release will be removed once new releases are made!
Please discuss any issues found on Discord: https://discord.gg/erGkcStHkV or #1517
What's Changed
- Rework how fuse request context is handled by @trapexit in #1543
- Misc docs updates by @trapexit in #1544
- Rework config, centralize fuse config by @trapexit in #1547
- Misc docs updates by @trapexit in #1549
- Fix lack of include for fmt by @trapexit in #1550
Full Changelog: 2.41.0-rc2...2.41.0-rc3
2.41.0-rc2
This is a release candidate and should NOT be used by casual users!! Casual users should use v2.40.2
This release will be removed once new releases are made!
Please discuss any issues found on Discord: https://discord.gg/erGkcStHkV or #1517
What's Changed
- Fix rename path generation by @trapexit in #1540
- Make allow-idmap optional (default: false) by @trapexit in #1541
- Allow setting of passthrough max-stack-depth by @trapexit in #1542
Full Changelog: 2.40.2...2.41.0-rc2
mergerfs v2.40.2
Change Summary
- Special case O_TMPFILE in preload. Fixes incorrect permissions when used.
Documentation
https://github.com/trapexit/mergerfs/blob/2.40.2/README.md
Donations / Sponsorship
If you find mergerfs useful please consider supporting its ongoing development.
2.40.1
Change Summary
- Fix intermittent error of EIO when used with NFS
Documentation
https://github.com/trapexit/mergerfs/blob/2.40.1/README.md
Donations / Sponsorship
If you find mergerfs useful please consider supporting its ongoing development.
mergerfs v2.40.0
Change Summary
After many hours of debugging it looks like mergerfs users have uncovered another kernel bug.
- Add
export-supportoption as a possible workaround for NFS EIO issue. Set tofalse. - Add details to README regarding remote filesystems
Documentation
https://github.com/trapexit/mergerfs/blob/2.40.0/README.md
Donations / Sponsorship
If you find mergerfs useful please consider supporting its ongoing development.
mergerfs v2.39.0
Change Summary
- Changed
flush-on-closeto default toopened-for-write - Fix user.mergerfs.pid queries
- Misc updates to docs
- Add experimental LD_PRELOAD library to provide faked passthrough: https://github.com/trapexit/mergerfs/blob/2.39.0/README.md#preloadso
Documentation
https://github.com/trapexit/mergerfs/blob/2.39.0/README.md
Donations / Sponsorship
If you find mergerfs useful please consider supporting its ongoing development.
mergerfs v2.38.0
Change Summary
- 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_otherdisabled 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
flushis issued at file close. Defaults to a less aggressive policy of only flushing when a file is opened for write.
Documentation
https://github.com/trapexit/mergerfs/blob/2.38.0/README.md
Donations / Sponsorship
If you find mergerfs useful please consider supporting its ongoing development.
mergerfs v2.37.1
Change Summary
- Fix deadlock when exiting mergerfs
Documentation
https://github.com/trapexit/mergerfs/blob/2.37.1/README.md
Donations / Sponsorship
If you find mergerfs useful please consider supporting its ongoing development.
mergerfs v2.37.0
Change Summary
- readdir policies:
func.readdir=XwhereXisseq,cor, orcosr.- seq: sequential - works same as before. Iterate over each branch in order configured.
- cosr: concurrent open sequential read - dispatches requests to open directories to a thread pool and then reads directories sequentially the same way
seqdoes. - cor: concurrent open and read - dispatches requests to a thread pool which both opens and reads directories concurrently.
- thread pool sizes are configurable.
cosr:5would give you 5 threads. - see the docs for more info
- Add invalidation of gid cache via SIGUSR2 (which also triggers a full memory gc)
Changelog
- Lib updates by @trapexit in #1213
- Move fuse thread args out of fuse session object by @trapexit in #1219
- Fix logging pin-threads details by @trapexit in #1220
- Add readdir policies by @trapexit in #1224
- Add callbacks for newer functions by @trapexit in #1225
- Fix a typo in README.md by @feltcat in #1226
- Add ability to invalidate gid cache on demand by @trapexit in #1227
- Add thread names for easier debugging by @trapexit in #1228
- Fix setting of ugids for concurrent readdir by @trapexit in #1231
- Update wyhash to final4 by @trapexit in #1232
- Use relaxed memory order for atomic counters by @trapexit in #1233
- Misc fixes for older platforms by @trapexit in #1234
- Docs: clarify parallel-direct-writes and cache.files by @DavidFair in #1235
- Initialize readdir threadpool after daemonizing by @trapexit in #1237
- Change threadpool to use concurrentqueue by @trapexit in #1238
- Add proper input validation for readdir policy by @trapexit in #1239
- Rework thread pool, add ability to add/remove threads at runtime by @trapexit in #1240
- Add website and license to version option by @trapexit in #1241
- Remove unneeded debug logging from thread pool by @trapexit in #1242
- Add some new questions to FAQ by @trapexit in #1244
Documentation
https://github.com/trapexit/mergerfs/blob/2.37.0/README.md
Donations / Sponsorship
If you find mergerfs useful please consider supporting its ongoing development.
mergerfs v2.36.0
Change Summary
- 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
moveonenospcfile 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.
Changelog
- Fix crash when exiting with open deleted files by @trapexit in #1170
- Make srcmounts readonly by @trapexit in #1171
- Fix move when in append mode + fix read/write direct_io vs cached behavior by @trapexit in #1203
- Add manual GC triggering + configurable process queue depth by @trapexit in #1204
- Fix error handling for cached writes by @trapexit in #1206
- Fix build on older distros due to std::atomic definitions by @trapexit in #1207
- Simplify syslog wrapper a bit by @trapexit in #1208
- Align msg buffer memory to allow O_DIRECT to work by @trapexit in #1209
- Create functions can set branches RO on EROFS by @trapexit in #1212
Documentation
https://github.com/trapexit/mergerfs/blob/2.36.0/README.md
Donations / Sponsorship
If you find mergerfs useful please consider supporting its ongoing development.