Skip to content
  • 2.30.0
  • 58a8f83
  • Compare
    Choose a tag to compare
    Search for a tag
  • 2.30.0
  • 58a8f83
  • Compare
    Choose a tag to compare
    Search for a tag

@trapexit trapexit released this Aug 6, 2020 · 12 commits to master since this release

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
Assets 46
  • 2.29.0
  • 10e8bd9
  • Compare
    Choose a tag to compare
    Search for a tag
  • 2.29.0
  • 10e8bd9
  • Compare
    Choose a tag to compare
    Search for a tag

@trapexit trapexit released this Feb 24, 2020 · 86 commits to master since this release

https://github.com/trapexit/mergerfs#writeback-caching
https://github.com/trapexit/mergerfs#how-are-inodes-calculated

  • 5ce428c rework makefiles + install mount tools
  • a646fe0 change inode conversion algo to reduce collision
  • 576ff36 add cache.writeback to xattrs
  • bf4b390 update fuse_kernel.h
  • 4b9f3de add ctime support
  • 903d39f add writeback caching
  • 9952c58 add links to ZFS comparison
  • 66f0d9e add faq entry on files ending up on 1 branch
  • 0f2f78c python 2.6 fix
  • 489ab23 make git2debcl work on Python 2 & 3
  • 3897852 add README segment on benchmarking
  • f4b8efc more FAQs
  • 4625a3c fix typos and update FAQ regarding policy preference
  • 322fa57 update docs: openvz kernel bug and new support links
  • 5eb3c8c add github sponsor and subscribestar to funding
  • 5d82756 Create FUNDING.yml

If you like mergerfs consider supporting the project: https://github.com/trapexit/mergerfs#support-development

Assets 60
  • 2.28.3
  • 6058ac0
  • Compare
    Choose a tag to compare
    Search for a tag
  • 2.28.3
  • 6058ac0
  • Compare
    Choose a tag to compare
    Search for a tag

@trapexit trapexit released this Oct 21, 2019 · 115 commits to master since this release

  • 4d82ed9 fix short writes on >2GB files when cloning file
  • 08e1bef improve nodeid generation
  • 58ab7f7 Fix typo
  • 7a84555 update travis config to include bionic
Assets 54
  • 2.28.2
  • 0b0f0a1
  • Compare
    Choose a tag to compare
    Search for a tag
  • 2.28.2
  • 0b0f0a1
  • Compare
    Choose a tag to compare
    Search for a tag

@trapexit trapexit released this Sep 8, 2019 · 123 commits to master since this release

  • 0fffabf only return 1 branch for rand/eprand policies
  • 50ad648 initialize mutex to fix lockup
  • 752a159 add UPGRADE section
  • f77d1d9 Force symlink creation (don't error if it already exists)
  • e6a6ab9 update how it works
  • 38919ad Update README.md
  • 86bda61 fix some grammar and typos
  • 4c4c27a set uid & gid when calling ioctl
Assets 54
  • 2.28.1
  • 72ac1fc
  • Compare
    Choose a tag to compare
    Search for a tag
  • 2.28.1
  • 72ac1fc
  • Compare
    Choose a tag to compare
    Search for a tag

@trapexit trapexit released this Jun 11, 2019 · 139 commits to master since this release

  • 5ca928e accept old arguments for backwards compatibility
Assets 58
  • 2.28.0
  • 5d013f4
  • Compare
    Choose a tag to compare
    Search for a tag
  • 2.28.0
  • 5d013f4
  • Compare
    Choose a tag to compare
    Search for a tag

@trapexit trapexit released this Jun 5, 2019 · 141 commits to master since this release

  • 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
Assets 58
  • 2.27.1
  • 9e3331d
  • Compare
    Choose a tag to compare
    Search for a tag
  • 2.27.1
  • 9e3331d
  • Compare
    Choose a tag to compare
    Search for a tag

@trapexit trapexit released this May 22, 2019 · 153 commits to master since this release

  • 61cded5 fix for unlink race condition
Assets 58
  • 2.27.0
  • 060cae6
  • Compare
    Choose a tag to compare
    Search for a tag
  • 2.27.0
  • 060cae6
  • Compare
    Choose a tag to compare
    Search for a tag

@trapexit trapexit released this May 20, 2019 · 155 commits to master since this release

  • 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
Assets 58
  • 2.26.2
  • ee0d87d
  • Compare
    Choose a tag to compare
    Search for a tag
  • 2.26.2
  • ee0d87d
  • Compare
    Choose a tag to compare
    Search for a tag

@trapexit trapexit released this May 17, 2019 · 167 commits to master since this release

  • c21aa34 fix renaming over open unlinked file
  • 810871d update support section of README
Assets 58
  • 2.26.1
  • 6404939
  • Compare
    Choose a tag to compare
    Search for a tag
  • 2.26.1
  • 6404939
  • Compare
    Choose a tag to compare
    Search for a tag

@trapexit trapexit released this May 13, 2019 · 171 commits to master since this release

Assets 59
You can’t perform that action at this time.