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
Antonio SJ Musumeci
9104f25c09
misc updates to docs
2017-08-06 14:33:59 -04:00
Antonio SJ Musumeci
c1d85ef825
expand support section of readme
2017-07-30 16:52:29 -04:00
Antonio SJ Musumeci
cc1f07ef39
add info on creating a caching behavior
2017-07-23 19:59:11 -04:00
Antonio SJ Musumeci
75ed37a11a
add setting of thread pool size
2017-07-02 23:50:39 -04:00
Antonio SJ Musumeci
a2bddec8c7
add 'ignore path preserving on rename' feature
2017-06-30 00:01:00 -04:00
Antonio SJ Musumeci
de0985c135
add libfuse 2.9.7 to repo and build against libfuse.a
2017-06-02 11:25:25 -04:00
Antonio SJ Musumeci
87c2f2f9dc
add nullrw feature to facilitate benchmarking
2017-05-26 18:11:18 -04:00
Antonio SJ Musumeci
6a7675f2bf
symlinkify: file -> symlink-to-original-file after timeout
2017-05-05 00:14:04 -04:00
Antonio SJ Musumeci
215f129a2a
explicitly define path preservation, better explain move issues
2017-04-03 14:35:08 -04:00
Antonio SJ Musumeci
bb4ec913c6
fix incorrect section header syntax
2017-04-03 12:05:51 -04:00
Antonio SJ Musumeci
cf2cb54e2a
add info on inodes running out to faq on filled drives
2017-03-13 13:42:46 -04:00
Antonio SJ Musumeci
94ebccc6ed
try to clarify how path preserving policies work and other tweaks to docs
2017-03-11 15:07:48 -05:00
Antonio SJ Musumeci
4e7e74d6f0
update docs to include dropcacheonclose and warn about directory mtime
2017-02-18 20:05:06 -05:00
Antonio SJ Musumeci
9cc9bb9de2
misc document updates
2017-01-31 19:10:54 -05:00
Antonio SJ Musumeci
16e7c72e99
update documentation, focus on explaining double caching & direct_io
2017-01-19 11:49:52 -05:00
Antonio SJ Musumeci
c8fa51c81a
support setting of inodes (using use_ino option)
...
creates a 64bit inode value from the underlying device value + original inode
final_ino = orig_ino | (dev << 32)
not perfect but given few filesystems use 64bit inodes nor is st_dev more than 16bit usually it should be fine
2016-12-14 18:53:21 -05:00
Antonio SJ Musumeci
5f7a168d0b
note that mergerfs should be run as root
2016-12-06 17:04:10 -05:00
Colin Yates
897f20bff8
minor correction of spelling mistake
...
:%s/cateogry/category/g
2016-10-24 09:32:41 +01:00
Antonio SJ Musumeci
cd90193deb
add some more explination to the FAQ
2016-10-19 09:38:48 -04:00
Antonio SJ Musumeci
cd71af8c5b
add mergerfs.ctl and scorch to tooling section
2016-10-13 11:02:20 -04:00
Antonio SJ Musumeci
3fb7f8919a
add EDQUOT to errors which trigger moveonenospc
2016-10-06 13:54:57 -04:00
Antonio SJ Musumeci
b1f2e94a2f
add information about page cache kernel panic bug
...
https://lkml.org/lkml/2016/9/14/527
2016-09-14 11:20:13 -04:00
Jens Dieskau
158dda9f23
Fix minor typo
2016-09-03 22:33:36 +02:00
Antonio SJ Musumeci
0fceb8e0a3
add epall and eprand policies
2016-08-01 16:08:02 -04:00
Antonio SJ Musumeci
47f184a944
fix typo and clarify feature
2016-07-26 09:09:10 -04:00
Antonio SJ Musumeci
a93ab6c2f5
add existing path first found policy. closes #289
2016-07-11 20:42:56 -04:00
Antonio SJ Musumeci
30cdfa64b8
reiterate path preserving policies
2016-06-07 20:51:18 -04:00
Antonio SJ Musumeci
6dc6fde641
update info on mmap bug and when it was fixed
2016-05-17 16:09:22 -04:00
Antonio SJ Musumeci
be6341e6f0
create eplus (existing path, least used space) policy. closes #273
2016-05-07 15:15:51 -04:00
Antonio SJ Musumeci
f7d3e8bf47
create lus (least used space) policy. closes #273
2016-05-07 14:59:42 -04:00
Antonio SJ Musumeci
74ed1b09ee
faq update on direct writes
2016-05-03 11:44:04 -04:00
Antonio SJ Musumeci
d0414d7c78
clean up information regarding fstab
2016-04-27 07:13:05 -04:00
Antonio SJ Musumeci
ef8d8f306e
add fsname to readme
2016-04-25 16:58:18 -04:00
Antonio SJ Musumeci
cd15b7a66a
further tweak language regarding policies wrt create category
2016-04-13 13:06:35 -04:00
Antonio SJ Musumeci
8643d35ebf
make policy descriptions more explicit
2016-04-13 12:45:49 -04:00
Antonio SJ Musumeci
1cfe1c3715
tweak doc language
2016-04-06 14:57:02 -04:00
Antonio SJ Musumeci
dbb13ef7ad
add details of mmap cache bug
2016-04-03 16:56:47 -04:00
Antonio SJ Musumeci
90ca14afff
add dual mount suggestion to mmap problem
2016-03-15 16:44:49 -04:00
Antonio SJ Musumeci
cfaf812c62
add details regarding rtorrent, mmap, and direct_io
2016-03-15 08:24:35 -04:00
Antonio SJ Musumeci
0c6c69e02e
update readme to include mergerfs.dedup
2016-03-11 18:03:22 -05:00
Antonio SJ Musumeci
309cfee52b
change tar.gz build url
2016-03-11 16:55:10 -05:00
Antonio SJ Musumeci
4928944167
clarify that rename uses the create policy to make decisions
2016-03-04 20:32:52 -05:00
Antonio SJ Musumeci
59b08a5bc3
change tooling names and add guide link
2016-03-03 10:46:53 -05:00
Antonio SJ Musumeci
779143f4b6
add minfreespace checks to policy ff's create and remove fwfs
...
fwfs is now covered by ff with the minfreespace and readonly checks
2016-02-29 18:06:59 -05:00
Antonio SJ Musumeci
4d7148cdd1
update readme with minfreespace and readonly details
2016-02-29 15:14:31 -05:00
Antonio SJ Musumeci
a698a8a545
update / tweak readme
2016-02-21 18:30:25 -05:00
Antonio SJ Musumeci
a4e60d7471
add eplfs info to readme
2016-02-18 13:32:30 -05:00
Antonio SJ Musumeci
3a51ceb327
add some "why mergerfs instead of X" sections to the FAQ
2016-02-11 15:51:22 -05:00
Antonio SJ Musumeci
681f3d7492
add section to readme about trash directories
2016-02-11 15:07:55 -05:00
Antonio SJ Musumeci
0bac344c8b
add information on fixing libfuse crashes
2016-02-01 09:45:40 -05:00
Antonio SJ Musumeci
853769bd7c
general tweaks to readme
2016-01-21 12:47:13 -05:00
Antonio SJ Musumeci
93397ea170
remove incorrect warning about race condition with mkdir/mknod
2016-01-20 17:07:33 -05:00
Antonio SJ Musumeci
25265f4e85
dedup based on full statvfs struct rather than fsid. closes #183
2016-01-20 16:44:05 -05:00
Antonio SJ Musumeci
de776b7cf0
remove tooling from repo. closes #198
2016-01-19 16:29:51 -05:00
Antonio SJ Musumeci
8a5c5240f2
replace srcpoints with srcmounts
2016-01-12 16:27:47 -05:00
Antonio SJ Musumeci
a3e6a0352d
rework rename algo to minimize likelihood of EXDEV being returned. closes #187
2016-01-12 16:23:12 -05:00
Antonio SJ Musumeci
8a651b0372
add support section to readme and manpage
2015-10-29 15:27:05 -04:00
Antonio SJ Musumeci
02df44129d
update info on Samba client EXDEV issue
2015-10-16 08:30:54 -04:00
Antonio SJ Musumeci
fe7960974d
fix typo
2015-10-14 08:07:05 -04:00
Antonio SJ Musumeci
873c4a9840
add link to gvfs-fuse patch
2015-10-14 06:48:40 -04:00
Antonio SJ Musumeci
4df9b2e6f1
add documentation on SMB client EXDEV / EIO issue
2015-10-14 00:27:26 -04:00
Antonio SJ Musumeci
a10de2aaf9
update build dependencies for Fedora
2015-10-13 09:07:38 -04:00
Antonio SJ Musumeci
40f569be37
rewrite gid cache system
...
Uses fixed storage so as to not require C++11 local thread storage or memory allocation.
2015-10-11 15:01:57 -04:00
Antonio SJ Musumeci
f6d396c30d
audit (and fix) file permissions and ownership. closes #148
2015-10-06 00:37:03 -04:00
Antonio SJ Musumeci
5808ab7795
move on enospc when writing feature. closes #141
...
This feature mimics the standard mhddfs behavior but is more thorough.
If a write fails and the errno is set to ENOSPC then mergerfs will (if
the feature is enabled) attempt to move the file to the drive with
the most free space but only if it has enough room for the file plus
the amount to be written. If that transfer is successful it will then
unlink the original file and attempt the previously failed write again.
The copy includes copying the path and file including the acls, owners,
attributes, extended attributes, and timestamps.
2015-09-25 15:14:17 -04:00
Antonio SJ Musumeci
4e5578de9c
make note about escaping glob tokens more explicit
2015-09-25 13:48:03 -04:00
Antonio SJ Musumeci
4b375faf12
include rpm-build in Fedora dependencies
2015-09-24 17:59:49 -04:00
Antonio SJ Musumeci
9542e6340b
include link to release page in readme
2015-09-24 15:07:39 -04:00
Antonio SJ Musumeci
de583b70f7
clean up options listing
2015-09-23 16:42:36 -04:00
Antonio SJ Musumeci
8bf0f755e1
create summary feature section
...
And tweak intro.
2015-09-22 12:46:47 -04:00
Antonio SJ Musumeci
5850fbe3f1
bump README date
2015-09-14 22:45:45 -04:00
Antonio SJ Musumeci
e0cf97261c
include default_permissions in default arguments
...
closes #130
2015-09-14 22:12:24 -04:00
Antonio SJ Musumeci
f4e3f28153
change README regarding setgroups cache and new rwlock ugid fallback
2015-09-14 19:33:30 -04:00
Antonio SJ Musumeci
08c0c2dfae
fix typo in README. closes #134
2015-09-14 19:05:42 -04:00
Antonio SJ Musumeci
b194272e39
add notes on permissions and errors to readme
2015-09-08 18:06:32 -04:00
Antonio SJ Musumeci
c131310c55
include known issues section to readme
2015-09-07 19:58:10 -04:00
Antonio SJ Musumeci
08d07b71e1
add building of rpm
2015-09-05 18:41:18 -04:00
Antonio SJ Musumeci
305f190f09
add basic instructions for building on Fedora
2015-09-05 16:34:59 -04:00
Antonio SJ Musumeci
bc77b0fd2a
add minfreespace check to epmfs create policy
2015-09-01 22:28:35 -04:00
Antonio SJ Musumeci
1f1e481075
rework rename
...
Return EXDEV if directories of tragets differ. If the old and new path exist in the same directory first rename each old found by the policy and then unlink/rmdir any new on a drive which didn't rename. The unlink/rmdir will occur only if there were no rename errors. Any failures of unlink/rmdir are ignored. The last rename error is returned.
2015-09-01 18:32:31 -04:00
Antonio SJ Musumeci
bbc75f6ff1
create errno policies for simulating errors. closes #107
2015-08-27 22:38:23 -04:00
Antonio SJ Musumeci
e73ea33e9c
format README better for man pages
2015-08-07 20:59:43 -04:00
Antonio SJ Musumeci
95192511b1
update README regarding options
2015-08-05 12:29:53 -04:00
Antonio SJ Musumeci
b3109ac506
add minfreespace to xattr interface
2015-07-05 19:36:23 -04:00
Antonio SJ Musumeci
d079856e09
add info on lfs and fwfs policies and minfreespace option
2015-07-03 10:49:18 -04:00
Antonio SJ Musumeci
c101430b98
rework category -> fuse function table
2015-07-03 10:49:18 -04:00
Antonio SJ Musumeci
ad7ce487bb
fix readme typos and misc formatting
2015-06-05 20:13:24 -04:00
Antonio SJ Musumeci
fe0f442c3d
add Tips and FAQ section to readme
2015-06-05 19:52:31 -04:00
Antonio SJ Musumeci
1879c9c4a9
update readme with defaults option info
2015-06-04 23:19:49 -04:00
Antonio SJ Musumeci
74c334c372
add default policies for categories and description of all
2015-03-10 18:53:06 -04:00
Antonio SJ Musumeci
08366a35be
match cli options to xattrs
2015-03-10 18:44:45 -04:00
Antonio SJ Musumeci
c022741ffb
revert removal of 'all' policy and relevant behavior. closes #54
2015-03-05 21:01:22 -05:00
Antonio SJ Musumeci
12f393a55e
per FUSE function policies. closes #52 , #53
2015-02-23 20:02:50 -05:00
Antonio SJ Musumeci
d30cae217b
add user.mergerfs.allpaths and user.mergerfs.relpath to getxattr
2015-02-07 18:27:47 -05:00
Antonio SJ Musumeci
2e95c6e78e
merge action and search category
2015-02-05 18:23:01 -05:00
Antonio SJ Musumeci
b411c63df1
Remove 'all' policy and simplify logic
2015-02-02 23:59:45 -05:00
Antonio SJ Musumeci
7e9ccd0317
support runtime setting of srcmounts. closes #12
2014-08-08 10:20:27 -04:00
Antonio SJ Musumeci
992e05e897
update docs for xattr features
2014-07-31 17:27:43 -04:00
Antonio SJ Musumeci
0f8fe47016
add man file via markdown -> man conversion with pandoc. closes #14
2014-06-09 10:30:53 -04:00
Antonio SJ Musumeci
45a2e09fbe
reverse source and destination mount points to match fstab requirements. closes #13
2014-06-05 07:30:04 -04:00