Commit Graph

256 Commits

Author SHA1 Message Date
trapexit
9a5d691619
Merge pull request #889 from trapexit/readme
README: update strace args and add question on snapraid
2021-03-11 15:37:37 -05:00
Antonio SJ Musumeci
495afeffb1 README: update strace args and add question on snapraid 2021-03-11 15:36:50 -05:00
Andrea Gelmini
58b4eb9089 Fix typo 2021-03-06 23:38:33 +01:00
Antonio SJ Musumeci
8adebc9489 new features: follow-symlinks, rename-exdev, link-exdev
* follow-symlinks: allows mergerfs to transparently follow symlinks
* link-exdev: in the event a link returns EXDEV create a symlink instead
* rename-exdev: in the event a rename returns EXDEV move the oldpath and
  create a symlink for the newpath
2021-02-11 23:24:08 -05:00
Antonio SJ Musumeci
6a9f7e6afc readme: update support section 2021-02-08 17:55:49 -05:00
Antonio SJ Musumeci
3bc189cfc8 README: update support section 2021-01-23 18:54:06 -05:00
Antonio SJ Musumeci
dfb544fed8 README: add warning/clearity about caching script and hardlinks and cow 2021-01-23 17:18:07 -05:00
Antonio SJ Musumeci
e9e17baf5e README: misc updates and tweaks 2020-12-29 19:34:13 -05:00
Ren Koh
7e583e3f48
use relative option for rsync 2020-10-03 14:45:51 +10:00
Antonio SJ Musumeci
8990e24c0f README.md: add details on per branch minfreespace 2020-09-29 18:50:25 -04:00
Antonio SJ Musumeci
f6e37c57fe README.md: add details about error handling 2020-09-27 00:28:00 -04:00
Antonio SJ Musumeci
27bd39f5ac README.md: fix typos 2020-08-30 22:23:16 -04:00
Antonio SJ Musumeci
15fb751f65 README.md: add note indicating only tagged releases are supported 2020-08-26 11:02:56 -04:00
Antonio SJ Musumeci
046844083f add {,ep,msp}pfrd policies
Percentage Free Random Distribution

Chooses a random branch based on the available space percentage free.

IE: if branch A has 1G free and branch B has 2G then B should be chosen
twice as often.
2020-08-25 22:19:01 -04:00
Antonio SJ Musumeci
badf7e1c60 README.md: add XMR address 2020-08-07 16:28:08 -04:00
Antonio SJ Musumeci
3b382624e5 README.md: update support section with Open Collective and LBC 2020-08-07 10:49:28 -04:00
Antonio SJ Musumeci
30d13b7f77 inodecalc: add 32bit versions of hashs 2020-08-03 19:42:06 -04:00
Antonio SJ Musumeci
1d2a1ba31a README.md: move kernel bugs to wiki 2020-08-02 16:56:10 -04:00
Antonio SJ Musumeci
e639f3d375 README.md: update faq regarding Plex and page caching 2020-08-02 16:18:47 -04:00
Antonio SJ Musumeci
8afe72d371 README: change back to listing fuse.mergerfs for fstab fstype 2020-07-29 14:39:53 -04:00
Antonio SJ Musumeci
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
Antonio SJ Musumeci
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
Andrea Gelmini
3a6738475a Fix typos 2020-07-20 13:01:33 +02:00
Antonio SJ Musumeci
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
Antonio SJ Musumeci
b4397f7f2e add 'inodecalc' option to allow selection of inode calculation algo 2020-06-28 20:02:07 -04:00
Antonio SJ Musumeci
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
Antonio SJ Musumeci
add588fdea README: add terminology section and tweak some things 2020-05-25 11:56:38 -04:00
Antonio SJ Musumeci
eb78c512ee README: update support section 2020-05-18 23:26:09 -04:00
Antonio SJ Musumeci
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
Antonio SJ Musumeci
eff15c72a5 README.md: request users update to latest version before they submit report 2020-04-20 09:16:43 -04:00
Antonio SJ Musumeci
7c37a69d25 add basic setup section 2020-04-05 12:29:20 -04:00
Antonio SJ Musumeci
0888ee12a5 README: update a number of sections and fix typos 2020-03-11 12:16:26 -04:00
Antonio SJ Musumeci
8ba1abafec README: add note regarding space calculations 2020-03-10 11:21:40 -04:00
Antonio SJ Musumeci
a646fe016d change inode conversion algo to reduce collision 2020-02-12 21:05:52 -05:00
Antonio SJ Musumeci
903d39f968 add writeback caching 2020-02-09 21:08:53 -05:00
Antonio SJ Musumeci
9952c58a4a add links to ZFS comparison 2020-02-04 11:06:51 -05:00
Antonio SJ Musumeci
66f0d9e649 add faq entry on files ending up on 1 branch 2020-01-24 20:12:24 -05:00
Antonio SJ Musumeci
389785265b add README segment on benchmarking 2020-01-20 22:26:20 -05:00
Antonio SJ Musumeci
f4b8efce20 more FAQs 2020-01-19 22:26:20 -05:00
Antonio SJ Musumeci
4625a3cf43 fix typos and update FAQ regarding policy preference 2020-01-13 14:26:45 -05:00
Antonio SJ Musumeci
322fa5778a update docs: openvz kernel bug and new support links 2019-12-10 23:21:45 -05:00
Sergio Kef
58ab7f7fa8
Fix typo 2019-09-20 22:32:09 +02:00
Antonio SJ Musumeci
0fffabfbe3 only return 1 branch for rand/eprand policies 2019-09-07 17:25:06 -04:00
Antonio SJ Musumeci
752a15953a add UPGRADE section 2019-09-03 21:43:18 -04:00
Antonio SJ Musumeci
e6a6ab967b update how it works 2019-08-20 20:13:25 -04:00
Tanachat Nilanon
38919add61
Update README.md
Fixed typo: changed ' to `
2019-08-14 23:57:56 -07:00
Ionuț Ciocîrlan
86bda61aa7
fix some grammar and typos 2019-08-01 14:35:00 +03:00
Antonio SJ Musumeci
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
Antonio SJ Musumeci
8cb7195c3e add copy_file_range support 2019-06-03 07:12:05 -04:00
Antonio SJ Musumeci
529a953e30 add file caching across opens and runtime control 2019-05-30 00:10:08 -04:00
Antonio SJ Musumeci
ddf6a2f105 make async_read optional again 2019-05-28 15:57:50 -04:00
Antonio SJ Musumeci
2323c16316 add readdir caching 2019-05-23 22:11:33 -04:00
Antonio SJ Musumeci
1baa706d37 add symlink caching 2019-05-22 19:25:38 -04:00
Antonio SJ Musumeci
80d56ac94e add support for POSIX ACLs 2019-05-19 18:17:55 -04:00
Antonio SJ Musumeci
810871d2df update support section of README 2019-05-12 23:57:15 -04:00
Antonio SJ Musumeci
5883020784 tweak docs 2019-05-10 11:54:41 -04:00
Antonio SJ Musumeci
825fcf7f35 cleanup and rework build system 2019-05-03 09:42:15 -04:00
Antonio SJ Musumeci
3288d834a9 add reference to 32bit mmap kernel bug 2019-04-23 20:01:36 -04:00
Antonio SJ Musumeci
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
Antonio SJ Musumeci
38037feab7 replace {attr,entry,negative}_timeout references 2019-02-23 01:39:28 -05:00
Antonio SJ Musumeci
0918dfd117 make attr, entry, negative_entry cache timeouts runtime configurable 2019-02-23 01:03:20 -05:00
Antonio SJ Musumeci
1d48dba0b7 add discord server to docs 2019-02-17 14:46:50 -05:00
trapexit
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
Antonio SJ Musumeci
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
Antonio SJ Musumeci
f4a06cae18 fix <> escaping in argument list 2019-01-24 11:15:55 -05:00
Antonio SJ Musumeci
5be7e007ce add statfs cache 2019-01-23 23:06:07 -05:00
Antonio SJ Musumeci
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
Antonio SJ Musumeci
a13b822543 add mention of noforget argument for NFS exports 2019-01-21 18:41:19 -05:00
Antonio SJ Musumeci
9fd3b968fc make ioctl on directories use open policy 2019-01-18 22:41:52 -05:00
Antonio SJ Musumeci
a57c680cc8 clarify descriptions regarding funcitons and those without policies 2019-01-15 10:18:57 -05:00
Antonio SJ Musumeci
3a1213435f add more info on different caching techniques 2019-01-15 09:39:39 -05:00
Antonio SJ Musumeci
7eefb58ff7 misc doc updates 2019-01-09 11:25:06 -05:00
Antonio SJ Musumeci
0b5a0d1228 update README regarding valid ENOSPC errors 2019-01-07 09:20:34 -05:00
Antonio SJ Musumeci
aa56e12040 mention mv quirk in known issues 2019-01-06 13:24:12 -05:00
Antonio SJ Musumeci
40969402e8 misc README updates 2018-12-12 15:48:53 -05:00
Antonio SJ Musumeci
7d9458fdd1 change xattr setting notsup to nosys 2018-11-19 23:30:39 -05:00
Antonio SJ Musumeci
680f8194f9 add ability to change statfs behavior 2018-11-05 21:33:27 -05:00
Antonio SJ Musumeci
7524e57262 rename NW (no write) to NC (no create) 2018-11-01 23:37:45 -04:00
Antonio SJ Musumeci
b55ebba4ed add tagging branches RW/RO/NW
This allows users to tag a branch as readonly or not for writing regardless
of how the filesystem is mounted. Should simplify deployments and offer
more flexibility.
2018-11-01 23:13:49 -04:00
Antonio SJ Musumeci
8eacb008b3 misc updates to docs 2018-10-31 10:22:40 -04:00
Antonio SJ Musumeci
1885a82cce remove libattr dependency 2018-10-09 13:50:45 -04:00
Antonio SJ Musumeci
65f482e483 add ability to turn on/off xattr support at runtime 2018-10-09 08:41:31 -04:00
Antonio SJ Musumeci
93f7d7d927 add link_cow feature
When enabled if a regular file is opened which has a link count > 1 it will
copy the file to a temporary file and rename over the original. Effectively
breaking the link. This behavior is similar to cow-shell and other LD_PRELOAD
based "CoW" solutions.
2018-10-06 22:05:05 -04:00
Antonio SJ Musumeci
f8563369bc add security_capability option 2018-09-30 23:30:53 -04:00
Antonio SJ Musumeci
057eafef7f add comment regarding tar error 2018-09-06 08:28:21 -04:00
Antonio SJ Musumeci
587ab62583 tweak docs, add FAQ regarding vendoring of libfuse 2018-08-20 13:40:01 -04:00
Andrey Mazo
756d4ff0ff
Makefile: option for building with system libfuse
Add INTERNAL_FUSE variable to control linking against
bundled libfuse vs external/system libfuse.
If external libfuse is requested,
`pkg-config` is used to obtain CFLAGS/LIBS/LDFLAGS and
to check that the provided external libfuse is >= 2.9.7.

This might hopefully get mergerfs closer to inclusion into distros.

Link: https://github.com/trapexit/mergerfs/issues/431
Link: https://bugs.gentoo.org/587956#c6
2018-08-20 00:05:58 +03:00
Antonio SJ Musumeci
fc52f89ddc add FAQ entry on hard links 2018-08-18 22:10:23 -04:00
trapexit
b1ecc58114
Merge pull request #491 from trapexit/inode_docs
add details regarding use_ino
2018-07-25 17:29:06 -04:00
Antonio SJ Musumeci
39d5ab8e83 add details regarding use_ino 2018-07-25 17:28:36 -04:00
Antonio SJ Musumeci
c005463111 change examples to use /mnt rather than /tmp 2018-05-04 09:00:27 -04:00
Antonio SJ Musumeci
e521833cec bump change date on readme and rebuild man 2018-03-09 21:12:52 -05:00
trapexit
906702de77
add hard_remove details and comment on unionfs 2018-03-03 13:24:49 -05:00
Andrew Simmons
b4a003c5a8
Remove duplicate word in README 2018-01-18 15:38:16 -05:00
trapexit
b48054fa2c
add XRP to support list 2017-12-21 09:47:53 -05:00
trapexit
d8f05ac8ae
add BCH, ETH, & LTC donation addresses 2017-12-20 22:11:26 -05:00
Antonio SJ Musumeci
7d93d5917e add explination in FAQ about what mergerfs is / is not 2017-11-15 16:39:25 -05:00
Antonio SJ Musumeci
7207e7fdd6 faq answer on epmfs 2017-11-07 14:48:38 -05:00
Antonio SJ Musumeci
f72bb1e1ed update FAQ and misc tweaks 2017-11-07 08:59:49 -05:00
Antonio SJ Musumeci
bd14f33c31 add support info and how mergerfs works section 2017-11-05 13:43:33 -05:00