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.
5 years ago
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.
5 years ago
Andrea Gelmini
3a6738475a
Fix typos
4 years ago
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.
5 years ago
Antonio SJ Musumeci
b4397f7f2e
add 'inodecalc' option to allow selection of inode calculation algo
5 years ago
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
5 years ago
Antonio SJ Musumeci
add588fdea
README: add terminology section and tweak some things
5 years ago
Antonio SJ Musumeci
eb78c512ee
README: update support section
5 years ago
Antonio SJ Musumeci
aad2257387
README.md: add human readable versions of some errno references
Also some additional "why use mergerfs over X?"
5 years ago
Antonio SJ Musumeci
eff15c72a5
README.md: request users update to latest version before they submit report
5 years ago
Antonio SJ Musumeci
7c37a69d25
add basic setup section
5 years ago
Antonio SJ Musumeci
0888ee12a5
README: update a number of sections and fix typos
5 years ago
Antonio SJ Musumeci
8ba1abafec
README: add note regarding space calculations
5 years ago
Antonio SJ Musumeci
a646fe016d
change inode conversion algo to reduce collision
5 years ago
Antonio SJ Musumeci
903d39f968
add writeback caching
5 years ago
Antonio SJ Musumeci
9952c58a4a
add links to ZFS comparison
5 years ago
Antonio SJ Musumeci
66f0d9e649
add faq entry on files ending up on 1 branch
5 years ago
Antonio SJ Musumeci
389785265b
add README segment on benchmarking
5 years ago
Antonio SJ Musumeci
f4b8efce20
more FAQs
5 years ago
Antonio SJ Musumeci
4625a3cf43
fix typos and update FAQ regarding policy preference
5 years ago
Antonio SJ Musumeci
322fa5778a
update docs: openvz kernel bug and new support links
5 years ago
Antonio SJ Musumeci
0fffabfbe3
only return 1 branch for rand/eprand policies
5 years ago
Antonio SJ Musumeci
752a15953a
add UPGRADE section
5 years ago
Antonio SJ Musumeci
e6a6ab967b
update how it works
5 years ago
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.
6 years ago
Antonio SJ Musumeci
8cb7195c3e
add copy_file_range support
6 years ago
Antonio SJ Musumeci
529a953e30
add file caching across opens and runtime control
6 years ago
Antonio SJ Musumeci
ddf6a2f105
make async_read optional again
6 years ago
Antonio SJ Musumeci
2323c16316
add readdir caching
6 years ago
Antonio SJ Musumeci
1baa706d37
add symlink caching
6 years ago
Antonio SJ Musumeci
80d56ac94e
add support for POSIX ACLs
6 years ago
Antonio SJ Musumeci
810871d2df
update support section of README
6 years ago
Antonio SJ Musumeci
5883020784
tweak docs
6 years ago
Antonio SJ Musumeci
825fcf7f35
cleanup and rework build system
6 years ago
Antonio SJ Musumeci
3288d834a9
add reference to 32bit mmap kernel bug
6 years ago
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.
6 years ago
Antonio SJ Musumeci
38037feab7
replace {attr,entry,negative}_timeout references
6 years ago
Antonio SJ Musumeci
0918dfd117
make attr, entry, negative_entry cache timeouts runtime configurable
6 years ago
Antonio SJ Musumeci
1d48dba0b7
add discord server to docs
6 years ago
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.
6 years ago
Antonio SJ Musumeci
f4a06cae18
fix <> escaping in argument list
6 years ago
Antonio SJ Musumeci
5be7e007ce
add statfs cache
6 years ago
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).
6 years ago
Antonio SJ Musumeci
a13b822543
add mention of noforget argument for NFS exports
6 years ago
Antonio SJ Musumeci
9fd3b968fc
make ioctl on directories use open policy
6 years ago
Antonio SJ Musumeci
a57c680cc8
clarify descriptions regarding funcitons and those without policies
6 years ago
Antonio SJ Musumeci
3a1213435f
add more info on different caching techniques
6 years ago
Antonio SJ Musumeci
7eefb58ff7
misc doc updates
6 years ago
Antonio SJ Musumeci
0b5a0d1228
update README regarding valid ENOSPC errors
6 years ago
Antonio SJ Musumeci
aa56e12040
mention mv quirk in known issues
6 years ago