6dcf6111af
Add callbacks for newer functions
...
* setupmapping
* removemapping
* syncfs
* tmpfile
2023-08-13 17:38:13 -05:00
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
373d331f39
Rework fuse read to use same buffers as messages
2023-02-26 23:31:44 -05:00
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
7ed91c1668
Backport bug fixes from libfuse3
2023-01-28 01:17:07 -05:00
24423b8d2a
Add async message processing
2023-01-16 13:15:53 -05:00
094ad862e7
Fix regression testing for implemented functions
2022-12-11 14:44:19 -05:00
d14427ad9e
Fix reading of setxattr name
2022-12-08 18:40:08 -05:00
7606430188
Remove libfuse abstraction in prep for adding request data
2022-11-26 23:30:27 -06:00
dba9c4451a
Remove write_buf, simplify FUSE msg dispatching
2022-11-10 22:43:02 -05:00
9d056d609f
Remove unnecessary libfuse abstractions
2022-11-07 23:09:25 -05:00
32e2c9c48e
Tweaks for 32bit systems
2022-11-05 23:28:10 -04:00
18dead4d86
Add new debug printing routines
2021-10-27 22:12:10 -04:00
930dad31de
Reduce struct node size
...
* Replace the stat values with a crc32b of them instead (for auto-cache)
* Replace char flag with bitfield
* Remove node generation. nodeid is an unsigned 64bit int. Would take 500K+ years
to rollover at 1M nodes per second.
2021-10-03 22:15:34 -04:00
6b5c484fbf
Major rework of memory allocation using fixed mem pools
2021-09-19 16:48:03 -04:00
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
1b26f4908e
general cleanup, slight memory reduction
2020-11-19 22:58:52 -05:00
3c761b708b
libfuse cleanup: remove libfuse API compatibility
2020-08-07 16:38:24 -04:00
3bfdd78434
libfuse cleanup: remove cuse
2020-08-07 16:38:24 -04:00
f9b831eb1a
libfuse cleanup: reindent
2020-08-07 16:38:24 -04:00
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
d119807adb
restructure readdir, add readdir_plus
...
Does not enable READDIR_AUTO. Might add in the future.
2020-02-22 19:45:52 -05:00
4cb866cee9
Merge pull request #707 from trapexit/writeback-cache
...
add writeback caching
2020-02-10 19:22:44 -05:00
4b9f3de814
add ctime support
2020-02-10 18:39:15 -05:00
903d39f968
add writeback caching
2020-02-09 21:08:53 -05:00
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
8cb7195c3e
add copy_file_range support
2019-06-03 07:12:05 -04:00
ddf6a2f105
make async_read optional again
2019-05-28 15:57:50 -04:00
2323c16316
add readdir caching
2019-05-23 22:11:33 -04:00
1baa706d37
add symlink caching
2019-05-22 19:25:38 -04:00
5f2221155c
ensure parallel dirops is enabled if capable
2019-05-20 00:36:42 -04:00
2b019b84b0
ensure async_aio is enabled if capable
2019-05-20 00:18:56 -04:00
80d56ac94e
add support for POSIX ACLs
2019-05-19 18:17:55 -04:00
df0d0552b2
fix outarg size calculation to accomidate newer fuse_kernel.h on older platforms
2019-04-16 22:13:32 -04:00
b69819e4b2
ioctl: don't set outbufsz when not needed
2019-03-20 10:18:55 -04:00
de0985c135
add libfuse 2.9.7 to repo and build against libfuse.a
2017-06-02 11:25:25 -04:00