Commit graph

78 commits

Author SHA1 Message Date
Antonio SJ Musumeci
9003157532 mergerfs.cpp 2024-02-04 23:42:51 -06:00
Antonio SJ Musumeci
6407d4174a mergerfs.cpp 2024-02-04 23:42:44 -06:00
Antonio SJ Musumeci
e06e5422c1 mergerfs.cpp 2024-02-03 19:52:03 -06:00
Antonio SJ Musumeci
3b910616ce mergerfs.cpp 2024-02-03 19:51:00 -06:00
Antonio SJ Musumeci
74a9062912 mergerfs.cpp 2024-02-03 19:50:08 -06:00
Antonio SJ Musumeci
6e27f8e50b mergerfs.cpp 2024-02-03 19:47:23 -06:00
Antonio SJ Musumeci
594655afcd mergerfs.cpp 2024-02-03 19:43:23 -06:00
Antonio SJ Musumeci
ed18196540 mergerfs.cpp 2024-02-03 18:49:10 -06:00
Antonio SJ Musumeci
c3de4da174 mergerfs.cpp 2024-02-03 18:49:02 -06:00
Antonio SJ Musumeci
c3dde12553 mergerfs.cpp 2024-02-03 18:48:34 -06:00
Antonio SJ Musumeci
d48be5882e mergerfs.cpp 2024-01-31 22:45:41 -06:00
Antonio SJ Musumeci
409e0ae49f mergerfs.cpp 2024-01-31 22:45:40 -06:00
Antonio SJ Musumeci
53ad53337a mergerfs.cpp 2024-01-31 22:44:53 -06:00
Antonio SJ Musumeci
d5b411ce44 mergerfs.cpp 2024-01-27 00:48:14 -06:00
Antonio SJ Musumeci
3a936dc743 mergerfs.cpp 2024-01-27 00:45:37 -06:00
Antonio SJ Musumeci
b2e489e0c1 mergerfs.cpp 2024-01-27 00:45:30 -06:00
Antonio SJ Musumeci
9187a4b899 mergerfs.cpp 2024-01-27 00:45:00 -06:00
Antonio SJ Musumeci
39b72434ea mergerfs.cpp 2024-01-27 00:32:49 -06:00
Antonio SJ Musumeci
0ab7ebf81c mergerfs.cpp 2024-01-26 00:30:04 -06:00
Antonio SJ Musumeci
d0501b36c1 mergerfs.cpp 2024-01-25 23:47:25 -06:00
Antonio SJ Musumeci
15f8ba594b mergerfs.cpp 2024-01-25 23:03:32 -06:00
Antonio SJ Musumeci
efeb9fa8e3 mergerfs.cpp 2024-01-25 23:03:32 -06:00
Antonio SJ Musumeci
cd7aab90a5 mergerfs.cpp 2024-01-25 23:03:32 -06:00
Antonio SJ Musumeci
5deff9025a mergerfs.cpp 2024-01-23 21:20:01 -06:00
Antonio SJ Musumeci
4dcf8dbc56 mergerfs.cpp 2024-01-23 21:19:38 -06:00
Antonio SJ Musumeci
39edcc3371 mergerfs.cpp 2024-01-23 21:18:25 -06:00
Antonio SJ Musumeci
97b23e03da mergerfs.cpp 2024-01-23 21:18:09 -06:00
Antonio SJ Musumeci
d6a2f06797 Only set allow_other when running as root 2023-10-29 01:44:18 -05:00
Antonio SJ Musumeci
a7069153bd Warn if not running as root 2023-10-22 00:43:19 -05:00
Antonio SJ Musumeci
0aafdefc18 Add ability to invalidate gid cache on demand
SIGUSR2 or ioctl
2023-08-13 23:30:52 -05:00
Antonio SJ Musumeci
6dcf6111af Add callbacks for newer functions
* setupmapping
* removemapping
* syncfs
* tmpfile
2023-08-13 17:38:13 -05:00
Antonio SJ Musumeci
5ab0fbcaee Add manual GC triggering + configurable process queue depth
Yes, these are unrelated changes but somehow ended up being
prototyped together and I'm too lazy to separate them.
2023-06-26 22:44:23 -05:00
Antonio SJ Musumeci
eebd6e9eb4 Actively report to syslog when waiting for mounts 2023-03-28 19:01:21 -04:00
Antonio SJ Musumeci
486c5d3734 Add ability to set readahead of mergerfs and branches 2023-03-09 00:12:57 -05:00
Antonio SJ Musumeci
373d331f39 Rework fuse read to use same buffers as messages 2023-02-26 23:31:44 -05:00
Antonio SJ Musumeci
9effeb6869 Add "per-process" file caching feature
Allows chosing page caching based on process name.
2023-02-18 01:16:36 -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
a7113bb163 Allow setting of scheduling priority 2023-01-25 23:38:31 -05:00
Antonio SJ Musumeci
939eb3996a Add option to wait for branches to become new mounts
branches-mount-timeout=UINT64 in seconds (default: 0)
2023-01-25 11:59:14 -05:00
Antonio SJ Musumeci
7606430188 Remove libfuse abstraction in prep for adding request data 2022-11-26 23:30:27 -06:00
Antonio SJ Musumeci
46ce28b149 Error when given invalid policy names 2022-08-06 23:01:23 -04:00
Antonio SJ Musumeci
43a6d66e3c Major cleanup of libfuse to remove unneeded features
* Remove request interrupt code. Required tracking of all requests unnecesssarily.
* Remove all debugging printing. Have plans to do full replacement.
* Remove deprecated functions.
* Remove unneeded error checking.
* Remove "userdata" which was unused.
* Remove allow_root feature.
2021-08-29 00:05:30 -04: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
ec15872a1f cleanup function signatures and definitions 2020-08-18 19:28:36 -04:00
Antonio SJ Musumeci
c0990644e8 remove unnecessary libfuse flags nopath, nullpath_ok, and utime_omit_ok 2020-07-08 19:25:23 -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
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
8cb7195c3e add copy_file_range support 2019-06-03 07:12:05 -04:00
Antonio SJ Musumeci
1ca70521a4 remove 'remote' flock support 2019-05-19 17:34:56 -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