github trapexit/mergerfs 2.30.0
mergerfs-2.30.0

latest releases: 2.40.2, 2.40.1, 2.40.0...
3 years ago

If you find mergerfs and/or my other work useful please consider supporting their development.

Features

  • inodecalc: new argument that allows controlling how inodes are calculated. Can help with NFS stale file handle errors.
  • nfsopenhack: new argument that helps working around issues with certain issues with NFS not being fully POSIX compatible when exporting mergerfs.
  • new msp policies: "most shared path". Like ep path preserving policies but will walk back the directory tree till something is found.
  • readdirplus: when a readdir happens mergerfs can stat files at the same time. Similar to the NFS feature. Might improve directory listing performance depending on use case.
  • config file: Allows you to put config arguments in a "ini" like file (key=val) and reference that in the mount options.
  • new runtime API based on ioctl (will be removing the xattr based API in mergerfs 3.0)
  • moveonenospc: now uses policies just like the regular filesystem functions providing more control over where the file goes.

Bug fixes

  • Fix building on FreeBSD
  • Reworked readdir code in general and fixed a NFS readdir race condition that is in libfuse
  • inodecalc algo that makes mergerfs work better with some 32bit software that doesn't handle 64bit inode values
  • inodecalc algo that helps with changing files out of band problems when exporting mergerfs through NFS.
  • fixed deb package building that broken mounting as non-root

misc

  • misc updates to docs
  • general code cleanup
  • prep for mergerfs v3.0 (which will be a breaking change with regard to options)

Changelog:

  • 30d13b7 inodecalc: add 32bit versions of hashs
  • 5989d41 readdir: use getdents64 for compatibility with ARM64
  • 1d2a1ba README.md: move kernel bugs to wiki
  • e639f3d README.md: update faq regarding Plex and page caching
  • 173193d Update issue templates
  • 0709b2e add missing options to usage
  • 15a0aed cleanup: move some config data structures to separate files
  • 8afe72d README: change back to listing fuse.mergerfs for fstab fstype
  • a93bd9f freebsd: misc cleanups to get freebsd compiling
  • 139e61e nfsopenhack: remove empty file check
  • 93218a3 NFS open/creat hack
  • 3ec137c policy: add "most shared path" policies
  • 3a67384 Fix typos
  • 468d420 Removed duplicated include
  • 08d267f moveonenospc: enhance the feature to allow using a policy
  • c4a85f5 readdir: add dirent index array
  • c099064 remove unnecessary libfuse flags nopath, nullpath_ok, and utime_omit_ok
  • 6289956 temporary fix for short readdirs on NFS
  • d699a97 fix rpm spec and chmod in deb
  • 8ed3a1f debian: fix installing of fresh deb
  • b4397f7 add 'inodecalc' option to allow selection of inode calculation algo
  • dbdd3e2 additional readdir refactor cleanup
  • afb07b1 add Cirrus-CI
  • 54c41c4 rework config management
  • a0c1c1a Travis-CI: add installing of deb package
  • add588f README: add terminology section and tweak some things
  • eb78c51 README: update support section
  • c6bce81 fix install location and setuid setting in deb pkgs
  • aad2257 README.md: add human readable versions of some errno references
  • eff15c7 README.md: request users update to latest version before they submit report
  • 7c37a69 add basic setup section
  • 698c414 fix getdent name length calculation
  • 0888ee1 README: update a number of sections and fix typos
  • 8ba1aba README: add note regarding space calculations
  • 3a46ec9 fix filename hashing error
  • 9b2634a fix name length calculation for musc
  • 62873d2 use getdents64 on linux
  • d119807 restructure readdir, add readdir_plus

Don't miss a new mergerfs release

NewReleases is sending notifications on new releases.