Releases: trapexit/mergerfs
Releases · trapexit/mergerfs
mergerfs-2.28.1
- 5ca928e accept old arguments for backwards compatibility
mergerfs-2.28.0
mergerfs-2.27.1
- 61cded5 fix for unlink race condition
mergerfs-2.27.0
mergerfs-2.26.2
mergerfs-2.26.1
- e052446 fix setting of fsname
mergerfs-2.26.0
2.26.0 has a number of significant changes.
- Fully vendored libfuse. Needed due to significant breaking changes needed to provide certain features. Read docs for more details.
- No long use libfuses
.fuse_hidden
file behavior when unlinking open files. - Fixed FS_IOC_{GET,SET}FLAGS ioctl
open
policy cache to reduce repetitive file openingstatfs
cache to reduce size based policy calculation overhead- make more options runtime configurable (direct_io, different caches)
full git changelog:
- 5883020 tweak docs
- 374580a create integration tests
- 825fcf7 cleanup and rework build system
- 3288d83 add reference to 32bit mmap kernel bug
- df0d055 fix outarg size calculation to accommodate newer fuse_kernel.h on older platforms
- 6ecc618 remove .fuse_hidden file creation
- 2a075ea fall back to other file copy methods in clonefile
- b69819e ioctl: don't set outbufsz when not needed
- 61d764d makefile: remove superclean dependency from tarball
- b0b265b parallel deb building
- 1be9900 rework makefiles for better manage parallel builds
- 38037fe replace {attr,entry,negative}_timeout references
- 2af0dcd fix building of deb pkg
- 0918dfd make attr, entry, negative_entry cache timeouts runtime configurable
- 95c0cc7 replace libfuse's autoconf with makefile
- 1d48dba add discord server to docs
- 7bf607b fix FS_IOC_{GET,SET}{FLAGS,VERSION} ioctl calls
- 940c323 misc fixes for FreeBSD
- 5ab7d2d remove O_LARGEFILE
- 65d3bfe remove libfuse modules
- 9d9ee7b general code cleanup
- c5b2415 remove
defaults
, hard code atomic_o_trunc, big_writes, and default_permissions - f4a06ca fix <> escaping in argument list
- 5be7e00 add statfs cache
- 7a057da add policy cache for 'open'
- a13b822 add mention of noforget argument for NFS exports
- 9fd3b96 make ioctl on directories use open policy
- a57c680 clarify descriptions regarding functions and those without policies
- 3a12134 add more info on different caching techniques
- 87b2795 set direct_io per open/create, now runtime configurable
- 7eefb58 misc doc updates
- 0b5a0d1 update README regarding valid ENOSPC errors
- aa56e12 mention mv quirk in known issues
- 10f7f8b optimize link_cow eligibility check
- dfa1c1a check minfreespace on newest policy create
- 4096940 misc README updates
- 6de8e44 general cleanup of makefile, add static & lto building
- 6ae6846 fix building on alpine w/ musl
mergerfs-2.25.1
mergerfs-2.25.0
This is a major feature release. As such its marked as pre-release. Most of the new features shouldn't impact regular usage but with the branch tagging feature the policies were restructured and fallbacks removed which could result in slightly different behavior in some cases. Best to put this version through explicit paces rather than a blind upgrade just in case.
Major changes include:
- More efficient file copying / cloning via FICLONE and/or copy_file_range usage (when moveonenospc and link_cow)
- Ability to tag individual branches as read write, read only, or no create. read only will work like mounting read only (which still is checked). no create will allow changes and deletes but not creations. syntax is like that of unionfs.
- link_cow feature will cause files with a link count > 1 to be copied and renamed in place to "break" that link when the file is opened for write. Similar to
cow-shell
and useful when managing hardlink deduped data and backups. - Ability to disable xattr support at runtime rather than compile time. extended attributes are rarely used and their use can greatly increase the cost of certain operations.
- Ability to short circuit xattr security_capability calls. This call in particular tends to greatly reduce throughput in certain workloads. This allows targeted short circuiting within mergerfs allowing all other xattr calls through.
- Ability to change the behavior of statfs. Allows ignoring of available space found on read only or no create tagged branches.
- remove fallback behavior from policies. Results in unexpected behaviors due to silently running incompatible policies.
git commits:
- c46134c fix building on platforms without O_PATH
- 3631ab7 optimize readdir file dedup
- 680f819 add ability to change statfs behavior
- 7524e57 rename NW (no write) to NC (no create)
- b55ebba add tagging branches RW/RO/NW
- 8eacb00 misc updates to docs
- 9e0ab1f misc cleanups
- 8a48b74 policy return cleanup
- 85026d5 add FICLONE and copy_file_range to clonefile
- 1885a82 remove libattr dependency
- 65f482e add ability to turn on/off xattr support at runtime
- 8d1a156 fix building on certain platforms
- 93f7d7d add link_cow feature
- 9afefef keep literal when glob fails
- 340f3c8 add fuse to debian pkg dependency
- f856336 add security_capability option
- 057eafe add comment regarding tar error
- 587ab62 tweak docs, add FAQ regarding vendoring of libfuse
- 756d4ff Makefile: option for building with system libfuse
- ec6adaa options: move "-o threads=" help text to libfuse/
- fc52f89 add FAQ entry on hard links
- e987ff4 Makefile: don't touch LDFLAGS
- 39d5ab8 add details regarding use_ino
- c005463 change examples to use /mnt rather than /tmp
mergerfs-2.24.2
- 73e8867 fix version.hpp creation, again