mirror of https://github.com/trapexit/mergerfs.git
2.4 KiB
2.4 KiB
TIPS / NOTES
- This document is literal and thorough. If a suspected feature isn't mentioned it doesn't exist. If certain libfuse arguments aren't listed they probably shouldn't be used.
- Ensure you're using the latest version.
- Run mergerfs as
root
. mergerfs is designed and intended to be run asroot
and may exibit incorrect behavior if run otherwise.. - If you don't see some directories and files you expect, policies
seem to skip branches, you get strange permission errors, etc. be
sure the underlying filesystems' permissions are all the same. Use
mergerfs.fsck
to audit the filesystem for out of sync permissions. - If you still have permission issues be sure you are using POSIX ACL compliant filesystems. mergerfs doesn't generally make exceptions for FAT, NTFS, or other non-POSIX filesystem.
- Do not use
cache.files=off
if you expect applications (such as rtorrent) to use mmap files. Shared mmap is not currently supported in FUSE w/ page caching disabled. Enablingdropcacheonclose
is recommended whencache.files=partial|full|auto-full
. - Kodi, Plex, Subsonic, etc. can use directory mtime to more efficiently determine whether to scan for new content rather than simply performing a full scan. If using the default getattr policy of ff it's possible those programs will miss an update on account of it returning the first directory found's stat info and it's a later directory on another mount which had the mtime recently updated. To fix this you will want to set func.getattr=newest. Remember though that this is just stat. If the file is later open'ed or unlink'ed and the policy is different for those then a completely different file or directory could be acted on.
- Some policies mixed with some functions may result in strange behaviors. Not that some of these behaviors and race conditions couldn't happen outside mergerfs but that they are far more likely to occur on account of the attempt to merge multiple sources of data which could be out of sync due to the different policies.
- For consistency it's generally best to set category wide policies rather than individual func's. This will help limit the confusion of tools such as rsync. However, the flexibility is there if needed.