Antonio SJ Musumeci
1c5b0f2f5f
Fix loading readonly / write once options from file
2023-03-19 23:40:32 -04:00
Antonio SJ Musumeci
84592a9f13
Remove splicing features
...
After numerous tests it was found the splice features were at best
the same performance as standard IO and at worse actually slower.
To simplify the code all splice features are removed.
2023-02-26 01:42:58 -05:00
Antonio SJ Musumeci
9adddfc66d
Add option to lazy umount target mount point
2023-02-02 21:20:23 -05:00
Antonio SJ Musumeci
3e313cd605
Forbid adding mountpoint to branch list
2023-01-29 11:51:56 -05:00
Antonio SJ Musumeci
92ccfd3c89
Hard code setting of allow_other, ignore when set
2023-01-26 23:37:37 -05:00
Antonio SJ Musumeci
3ee93d4c56
Remove 'nonempty' argument
...
This makes it like all other filesystems and brings it into alignment
with libfuse3's behavior.
2023-01-16 23:33:36 -05:00
Antonio SJ Musumeci
d11807ef7c
Remove use_ino option and make behavior same as if set
2023-01-16 16:21:44 -05:00
Antonio SJ Musumeci
24423b8d2a
Add async message processing
2023-01-16 13:15:53 -05:00
Antonio SJ Musumeci
538467b86d
config: rework global config, remove rwlock, make branches RCU like
...
Also added unit tests. Should have done separately but found a number of bugs.
2021-01-14 21:02:10 -05:00
Antonio SJ Musumeci
7edd3c6cf3
config: fix invalid error check when parsing config file
2020-11-28 20:26:18 -05:00
Antonio SJ Musumeci
767039c492
option_parser: return 0 when requesting help or version
2020-09-10 21:58:23 -04:00
Antonio SJ Musumeci
fc3453932a
branches: add per branch minfreespace w/ original value as default
...
example: /mnt/disk0=RW,1G:/mnt/disk1=RW,2G
2020-09-04 21:04:45 -04:00
Antonio SJ Musumeci
0709b2e447
add missing options to usage
2020-07-30 16:55:18 -04:00
Andrea Gelmini
3a6738475a
Fix typos
2020-07-20 13:01:33 +02: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
d119807adb
restructure readdir, add readdir_plus
...
Does not enable READDIR_AUTO. Might add in the future.
2020-02-22 19:45:52 -05:00
Antonio SJ Musumeci
903d39f968
add writeback caching
2020-02-09 21:08:53 -05:00
Antonio SJ Musumeci
5ca928e436
accept old arguments for backwards compatibility
2019-06-10 20:20:41 -04: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
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
e052446713
fix setting of fsname
2019-05-12 14:07:21 -04: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
9d9ee7b71d
general code cleanup
2019-01-31 22:47:09 -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
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
87b2795f2b
set direct_io per open/create, now runtime configurable
2019-01-11 15:23:14 -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
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
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
9afefef032
keep literal when glob fails
2018-10-01 16:56:40 -04:00
Antonio SJ Musumeci
f8563369bc
add security_capability option
2018-09-30 23:30:53 -04:00
Andrey Mazo
ec6adaa376
options: move "-o threads=" help text to libfuse/
...
Parsing of and acting upon "-o threads" option is done in the bundled `libfuse/`,
so move the corresponding help text there too.
This make help text consistent with behavior
when building against system libfuse,
which doesn't support this option.
2018-08-19 21:04:35 +03:00
Antonio SJ Musumeci
9830e29945
fix version generation
2018-03-09 21:06:00 -05: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
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
6aa62d03ff
add option to drop file caches before closing files
2017-02-18 16:06:29 -05:00
Antonio SJ Musumeci
9cc9bb9de2
misc document updates
2017-01-31 19:10:54 -05:00
Antonio SJ Musumeci
1aa76a54c2
use different read and write functions when using direct_io
2016-12-20 17:06:34 -05:00
Antonio SJ Musumeci
43cbd9c670
move size calculations to use uint64_t. fixes #287
2016-07-11 09:04:47 -04:00
Antonio SJ Musumeci
5cf3bb7c98
override standard libfuse version flag
2016-02-24 06:36:33 -05:00
Antonio SJ Musumeci
242af777be
move from MIT to ISC license. closes #194
2016-01-14 16:56:38 -05:00