159 Commits

Author SHA1 Message Date
3b382624e5 README.md: update support section with Open Collective and LBC 2020-08-07 10:49:28 -04:00
30d13b7f77 inodecalc: add 32bit versions of hashs 2020-08-03 19:42:06 -04:00
1d2a1ba31a README.md: move kernel bugs to wiki 2020-08-02 16:56:10 -04:00
e639f3d375 README.md: update faq regarding Plex and page caching 2020-08-02 16:18:47 -04:00
8afe72d371 README: change back to listing fuse.mergerfs for fstab fstype 2020-07-29 14:39:53 -04:00
93218a343a NFS open/creat hack
A hack to work around non-POSIX NFS <-> FUSE behavior where it turns
an open(O_EXCL|O_CREAT,0444) into multiple calls that results in
EACCES.
2020-07-23 19:36:10 -04:00
3ec137c4ad policy: add "most shared path" policies
Like path preserving but walks back the path till a match is found. Should
cover the usecase where someone wants a "less strict" form of path
preservation.
2020-07-21 16:31:08 -04:00
3a6738475a Fix typos 2020-07-20 13:01:33 +02:00
08d267fc61 moveonenospc: enhance the feature to allow using a policy
Just like functions you can now set a policy for moveonfreenospc. This
allows for more flexibility.

For backwards compatibility moveonfreenospc=true is converted to
moveonfreenospc=mfs.

minfreespace does apply which is slightly different from original behavior.
2020-07-15 19:33:05 -04:00
b4397f7f2e add 'inodecalc' option to allow selection of inode calculation algo 2020-06-28 20:02:07 -04:00
54c41c4994 rework config management
* Add standard way to do str2val and val2str conversion
* Add support for a config file
* Add support for reading and writing settings via ioctl
2020-06-18 18:54:25 -04:00
add588fdea README: add terminology section and tweak some things 2020-05-25 11:56:38 -04:00
eb78c512ee README: update support section 2020-05-18 23:26:09 -04:00
aad2257387 README.md: add human readable versions of some errno references
Also some additional "why use mergerfs over X?"
2020-05-06 18:46:39 -04:00
eff15c72a5 README.md: request users update to latest version before they submit report 2020-04-20 09:16:43 -04:00
7c37a69d25 add basic setup section 2020-04-05 12:29:20 -04:00
0888ee12a5 README: update a number of sections and fix typos 2020-03-11 12:16:26 -04:00
8ba1abafec README: add note regarding space calculations 2020-03-10 11:21:40 -04:00
a646fe016d change inode conversion algo to reduce collision 2020-02-12 21:05:52 -05:00
903d39f968 add writeback caching 2020-02-09 21:08:53 -05:00
9952c58a4a add links to ZFS comparison 2020-02-04 11:06:51 -05:00
66f0d9e649 add faq entry on files ending up on 1 branch 2020-01-24 20:12:24 -05:00
389785265b add README segment on benchmarking 2020-01-20 22:26:20 -05:00
f4b8efce20 more FAQs 2020-01-19 22:26:20 -05:00
4625a3cf43 fix typos and update FAQ regarding policy preference 2020-01-13 14:26:45 -05:00
322fa5778a update docs: openvz kernel bug and new support links 2019-12-10 23:21:45 -05:00
0fffabfbe3 only return 1 branch for rand/eprand policies 2019-09-07 17:25:06 -04:00
752a15953a add UPGRADE section 2019-09-03 21:43:18 -04:00
e6a6ab967b update how it works 2019-08-20 20:13:25 -04:00
7cbd88ac81 allow setting of 'max_pages' (via 'fuse_msg_size')
Linux 4.20 and above allow setting the number of pages per FUSE message
upto 256 (4K * 256 = 1MiB). This can greatly increase read and write
speeds depending on the workload.
2019-06-03 21:01:19 -04:00
8cb7195c3e add copy_file_range support 2019-06-03 07:12:05 -04:00
529a953e30 add file caching across opens and runtime control 2019-05-30 00:10:08 -04:00
ddf6a2f105 make async_read optional again 2019-05-28 15:57:50 -04:00
2323c16316 add readdir caching 2019-05-23 22:11:33 -04:00
1baa706d37 add symlink caching 2019-05-22 19:25:38 -04:00
80d56ac94e add support for POSIX ACLs 2019-05-19 18:17:55 -04:00
810871d2df update support section of README 2019-05-12 23:57:15 -04:00
5883020784 tweak docs 2019-05-10 11:54:41 -04:00
825fcf7f35 cleanup and rework build system 2019-05-03 09:42:15 -04:00
3288d834a9 add reference to 32bit mmap kernel bug 2019-04-23 20:01:36 -04:00
6ecc618d83 remove .fuse_hidden file creation
addresses #521

mergerfs is written using libfuse's high level API. The HLAPI forces a certain
behavior with regard to unlinking or rename overwriting of open files. It
renames the file to .fuse_hiddenXXXXXX and when incoming requests refer
to the unlinked file it will use path based calls and use that path.

This behavior leads to rmdirs failing or some software noticing
the .fuse_hidden files.

This patch changes the HLAPI and removes entirely the .fuse_hidden behavior.

See the README for more.
2019-04-13 21:41:51 -04:00
38037feab7 replace {attr,entry,negative}_timeout references 2019-02-23 01:39:28 -05:00
0918dfd117 make attr, entry, negative_entry cache timeouts runtime configurable 2019-02-23 01:03:20 -05:00
1d48dba0b7 add discord server to docs 2019-02-17 14:46:50 -05:00
5a1a60742e Merge pull request #574 from trapexit/opts
remove `defaults`, hard code atomic_o_trunc, big_writes, and default_…
2019-01-30 22:53:35 -05:00
c5b2415daf remove defaults, hard code atomic_o_trunc, big_writes, and default_permissions
`defaults` is a value used by all filesystems and isn't passed through to
mergerfs when mounting via the fstab or the mount command. This led
to inconsistent application of options. atomic_o_trunc, big_writes, and
default_permissions should be enabled all the time anyway and splice_*
can lead to issues so they are not always enabled.
2019-01-30 22:46:21 -05:00
f4a06cae18 fix <> escaping in argument list 2019-01-24 11:15:55 -05:00
5be7e007ce add statfs cache 2019-01-23 23:06:07 -05:00
7a057daa0c add policy cache for 'open'
A fusepath -> basepath cache for `open` to limit the overhead of FUSE in 'open, read/write, close' patterns (such as Transmission).
2019-01-22 09:21:15 -05:00
a13b822543 add mention of noforget argument for NFS exports 2019-01-21 18:41:19 -05:00