mirror of https://github.com/trapexit/mergerfs.git
44 lines
2.4 KiB
Markdown
44 lines
2.4 KiB
Markdown
# 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
|
|
as `root` 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](http://linux.die.net/man/2/mmap)
|
|
files. Shared mmap is not currently supported in FUSE w/ page
|
|
caching disabled. Enabling `dropcacheonclose` is recommended when
|
|
`cache.files=partial|full|auto-full`.
|
|
- [Kodi](http://kodi.tv), [Plex](http://plex.tv),
|
|
[Subsonic](http://subsonic.org), etc. can use directory
|
|
[mtime](http://linux.die.net/man/2/stat) 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](http://linux.die.net/man/1/rsync). However, the flexibility
|
|
is there if needed.
|