Commit Graph
50 Commits
Author SHA1 Message Date
Antonio SJ Musumeci 258cf5c3e9 fuse_open.cpp 2024-04-11 22:22:51 -05:00
Antonio SJ Musumeci f7bd28197d fuse_open.cpp 2024-04-11 21:47:15 -05:00
Antonio SJ Musumeci 34502870fe fuse_open.cpp 2024-04-11 21:46:17 -05:00
Antonio SJ Musumeci 5a203053bc fuse_open.cpp 2024-04-11 21:45:52 -05:00
Antonio SJ Musumeci efb476f536 fuse_open.cpp 2024-04-11 21:45:33 -05:00
Antonio SJ Musumeci e0819dafd3 fuse_open.cpp 2024-04-11 21:40:58 -05:00
Antonio SJ Musumeci dc98a0764e fuse_open.cpp 2024-04-11 21:39:49 -05:00
Antonio SJ Musumeci 908f95376f fuse_open.cpp 2024-04-11 21:39:48 -05:00
Antonio SJ Musumeci d6a7e24c59 fuse_open.cpp 2024-04-11 21:38:56 -05:00
Antonio SJ Musumeci ccd5f5dfff fuse_open.cpp 2024-04-11 21:38:11 -05:00
Antonio SJ Musumeci dda90e9646 fuse_open.cpp 2024-04-11 21:37:49 -05:00
Antonio SJ Musumeci 4ff90e5149 fuse_open.cpp 2024-04-11 21:37:35 -05:00
Antonio SJ Musumeci 1c842f81a6 fuse_open.cpp 2024-04-11 21:36:55 -05:00
Antonio SJ Musumeci 2c4f207c49 fuse_open.cpp 2024-04-11 21:36:13 -05:00
Antonio SJ Musumeci bfd0a5bf34 fuse_open.cpp 2024-04-11 21:35:36 -05:00
Antonio SJ Musumeci 887dc08fb9 fuse_open.cpp 2024-04-11 21:28:23 -05:00
Antonio SJ Musumeci 2fb1f116b3 fuse_open.cpp 2024-04-11 21:28:09 -05:00
Antonio SJ Musumeci 13f6979cd1 fuse_open.cpp 2024-04-10 22:59:40 -05:00
Antonio SJ Musumeci 95f514b852 fuse_open.cpp 2024-04-10 22:58:49 -05:00
Antonio SJ Musumeci 84cc56723d fuse_open.cpp 2024-04-10 18:44:38 -05:00
Antonio SJ Musumeci 46df2d4eb3 fuse_open.cpp 2024-04-10 18:44:28 -05:00
Antonio SJ Musumeci e0639c5382 fuse_open.cpp 2024-04-10 18:44:22 -05:00
Antonio SJ Musumeci 5fa3a208f6 fuse_open.cpp 2024-04-10 18:37:22 -05:00
Antonio SJ Musumeci d8d7a2efc1 fuse_open.cpp 2024-04-10 18:37:06 -05:00
Antonio SJ Musumeci d357af6959 fuse_open.cpp 2024-04-09 23:22:44 -05:00
Antonio SJ Musumeci 5a4834efa2 fuse_open.cpp 2024-04-09 22:04:28 -05:00
Antonio SJ Musumeci 975e951e3b fuse_open.cpp 2024-04-09 22:04:27 -05:00
Antonio SJ Musumeci 1b4bec79a9 fuse_open.cpp 2024-04-09 22:04:21 -05:00
Antonio SJ Musumeci 81ea34fb29 fuse_open.cpp 2024-04-09 22:03:41 -05:00
Antonio SJ Musumeci 998c3f3d22 fuse_open.cpp 2024-04-09 21:27:02 -05:00
Antonio SJ Musumeci 4abcd7b3a4 fuse_open.cpp 2024-04-09 21:24:51 -05:00
Antonio SJ Musumeci 1730c6c483 fuse_open.cpp 2024-04-09 21:24:44 -05:00
Antonio SJ Musumeci 65bcdd3021 fuse_open.cpp 2024-04-09 21:24:01 -05:00
Antonio SJ Musumeci a2031b8be1 fuse_open.cpp 2024-04-09 20:50:36 -05:00
Antonio SJ Musumeci 07e7d76b7c Add support for file io passthrough
If using Linux 6.9 or above and enabled (passthrough=true) files
opened or created will use the FUSE passthrough feature.

If direct-io=true / cache.files=off it will override passthrough. If
direct-io-allow-mmap is enabled only mmap will passthrough.

HANDLE_KILLPRIV and V2 are enabled now by default to remove the
kernel's need to issue getattr and getxattr requests.

moveonenospc will not work when leveraging passthrough.
2024-04-09 20:11:00 -05:00
Antonio SJ Musumeci 6aa6452d3e Add flushonclose feature 2023-10-28 19:47:23 -05:00
Antonio SJ Musumeci 6a14a10e6c Fix read/write behavior and return value depending on direct_io
Also add parallel direct write option for 6.2+ kernels.
2023-06-24 23:06:14 -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 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 1b26f4908e general cleanup, slight memory reduction 2020-11-19 22:58:52 -05: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 2fe20b888e clean up and separate out fs_* files 2020-08-18 19:28:36 -04:00
Antonio SJ Musumeci 15a0aedd25 cleanup: move some config data structures to separate files 2020-07-29 21:42:43 -04:00
Antonio SJ Musumeci 139e61efaa nfsopenhack: remove empty file check 2020-07-26 17:11:06 -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 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 576ff3694e add cache.writeback to xattrs 2020-02-12 19:48:37 -05:00
Antonio SJ Musumeci 903d39f968 add writeback caching 2020-02-09 21:08:53 -05:00
Antonio SJ Musumeci 529a953e30 add file caching across opens and runtime control 2019-05-30 00:10:08 -04:00
Antonio SJ Musumeci 9d9ee7b71d general code cleanup 2019-01-31 22:47:09 -05:00