Skip to content

Releases: trapexit/mergerfs

mergerfs-2.28.1

11 Jun 00:35
72ac1fc
Compare
Choose a tag to compare
  • 5ca928e accept old arguments for backwards compatibility

mergerfs-2.28.0

05 Jun 20:48
5d013f4
Compare
Choose a tag to compare
  • 7cbd88a allow setting of 'max_pages' (via 'fuse_msg_size')
  • 8cb7195 add copy_file_range support
  • 529a953 add file caching across opens and runtime control
  • ddf6a2f make async_read optional again
  • 2323c16 add readdir caching
  • 1baa706 add symlink caching

mergerfs-2.27.1

22 May 10:09
9e3331d
Compare
Choose a tag to compare
  • 61cded5 fix for unlink race condition

mergerfs-2.27.0

20 May 21:55
060cae6
Compare
Choose a tag to compare
  • 229d851 fix mount.mergerfs generation
  • 5f22211 ensure parallel dirops is enabled if capable
  • 2b019b8 ensure async_aio is enabled if capable
  • 3a66a68 ensure marking open files renamed over as hidden
  • 80d56ac add support for POSIX ACLs
  • 1ca7052 remove 'remote' flock support

mergerfs-2.26.2

17 May 10:34
ee0d87d
Compare
Choose a tag to compare
  • c21aa34 fix renaming over open unlinked file
  • 810871d update support section of README

mergerfs-2.26.1

13 May 00:53
6404939
Compare
Choose a tag to compare

mergerfs-2.26.0

12 May 02:52
5e16851
Compare
Choose a tag to compare

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 opening
  • statfs 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

24 Nov 04:27
3c1f19e
Compare
Choose a tag to compare
  • 7d9458f change xattr setting notsup to nosys
  • 43b676a fix indexing of truncate targets

mergerfs-2.25.0

07 Nov 13:32
606d9c4
Compare
Choose a tag to compare
mergerfs-2.25.0 Pre-release
Pre-release

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

24 Mar 13:55
50384f4
Compare
Choose a tag to compare
  • 73e8867 fix version.hpp creation, again