Antonio SJ Musumeci
|
5ee71fcaee
|
Auto-commit fuse.cpp
|
2026-04-16 18:20:55 -05:00 |
|
Antonio SJ Musumeci
|
3a3d02df64
|
Auto-commit fuse.cpp
|
2026-04-16 18:20:55 -05:00 |
|
Antonio SJ Musumeci
|
84f6dadda1
|
Auto-commit fuse.cpp
|
2026-04-16 18:20:55 -05:00 |
|
Antonio SJ Musumeci
|
9882ab885a
|
Auto-commit fuse.cpp
|
2026-04-16 18:20:55 -05:00 |
|
Antonio SJ Musumeci
|
742692a786
|
Auto-commit fuse.cpp
|
2026-04-16 18:20:55 -05:00 |
|
Antonio SJ Musumeci
|
66c05dd9c2
|
Auto-commit fuse.cpp
|
2026-04-16 18:20:55 -05:00 |
|
Antonio SJ Musumeci
|
06d77d17b1
|
Auto-commit fuse.cpp
|
2026-04-16 18:20:55 -05:00 |
|
Antonio SJ Musumeci
|
25d8a9ef95
|
Auto-commit fuse.cpp
|
2026-04-16 18:20:55 -05:00 |
|
Antonio SJ Musumeci
|
47f3429794
|
Auto-commit fuse.cpp
|
2026-04-16 18:20:55 -05:00 |
|
Antonio SJ Musumeci
|
e8f1881fba
|
Auto-commit fuse.cpp
|
2026-04-16 18:20:55 -05:00 |
|
Antonio SJ Musumeci
|
abfbf34022
|
Auto-commit fuse.cpp
|
2026-04-16 18:20:55 -05:00 |
|
Antonio SJ Musumeci
|
02a69d010f
|
Auto-commit fuse.cpp
|
2026-04-16 18:20:55 -05:00 |
|
Antonio SJ Musumeci
|
b229c963ea
|
Auto-commit fuse.cpp
|
2026-04-16 18:20:55 -05:00 |
|
Antonio SJ Musumeci
|
f93439087f
|
Auto-commit fuse.cpp
|
2026-04-16 18:20:55 -05:00 |
|
Antonio SJ Musumeci
|
70fd9254db
|
Auto-commit fuse.cpp
|
2026-04-16 18:20:55 -05:00 |
|
Antonio SJ Musumeci
|
f8164299df
|
Auto-commit fuse.cpp
|
2026-04-16 18:20:55 -05:00 |
|
Antonio SJ Musumeci
|
a182da826c
|
Auto-commit fuse.cpp
|
2026-04-16 18:20:55 -05:00 |
|
Antonio SJ Musumeci
|
a723043797
|
Auto-commit fuse.cpp
|
2026-04-16 18:20:55 -05:00 |
|
Antonio SJ Musumeci
|
f678e41538
|
Auto-commit fuse.cpp
|
2026-04-16 18:20:54 -05:00 |
|
Antonio SJ Musumeci
|
bc89b26a81
|
Auto-commit objpool.hpp
|
2026-04-16 18:20:54 -05:00 |
|
Antonio SJ Musumeci
|
732bcee235
|
Auto-commit objpool.hpp
|
2026-04-16 18:20:54 -05:00 |
|
Antonio SJ Musumeci
|
9e58eab1c6
|
Auto-commit objpool.hpp
|
2026-04-16 18:20:54 -05:00 |
|
Antonio SJ Musumeci
|
a800e57dca
|
Auto-commit fuse.cpp
|
2026-04-16 18:20:54 -05:00 |
|
Antonio SJ Musumeci
|
d86c014ec3
|
Auto-commit fuse_opt.cpp
|
2026-04-16 18:20:54 -05:00 |
|
Antonio SJ Musumeci
|
02da8efbff
|
Auto-commit fuse.cpp
|
2026-04-16 18:20:54 -05:00 |
|
Antonio SJ Musumeci
|
d5a2187713
|
Fix make race condition
mkdocs / deploy (push) Waiting to run
|
2026-04-16 18:20:00 -05:00 |
|
Antonio S. Musumeci
|
351adc2b20
|
Add tests for HashSet, rapidhash withSeed consistency, and ReaddirCalc parity with calc
mkdocs / deploy (push) Has been cancelled
|
2026-04-12 23:44:23 -05:00 |
|
Antonio S. Musumeci
|
a1e681f36b
|
Use ReaddirCalc in all readdir implementations
* avoids per-entry path construction
|
2026-04-12 23:44:23 -05:00 |
|
Antonio S. Musumeci
|
e3a467de80
|
Refactor fs_inode
* add Algo enum
* ReaddirCalc class
* string_view params
* fs::path overloads
|
2026-04-12 23:44:23 -05:00 |
|
Antonio S. Musumeci
|
cdadda5eb9
|
Replace khash with custom hash set
|
2026-04-12 23:44:23 -05:00 |
|
Antonio SJ Musumeci
|
4c9a9d7e15
|
Upgrade rapidhash
|
2026-04-12 23:44:23 -05:00 |
|
Antonio SJ Musumeci
|
425e30b50f
|
Use nanosleep rather than yield and return EINTR
mkdocs / deploy (push) Has been cancelled
|
2026-04-11 11:30:57 -05:00 |
|
Antonio SJ Musumeci
|
3905355522
|
Detect OS for release-sample make target
mkdocs / deploy (push) Has been cancelled
|
2026-04-08 20:48:02 -05:00 |
|
Antonio SJ Musumeci
|
9e2e1afafa
|
Update docs on limiting drive spinup
mkdocs / deploy (push) Has been cancelled
|
2026-04-06 14:01:20 -05:00 |
|
Antonio SJ Musumeci
|
6d218fa87f
|
Misc updates and fixes
mkdocs / deploy (push) Has been cancelled
|
2026-04-04 02:46:24 -05:00 |
|
Antonio SJ Musumeci
|
3b10406f95
|
Add more details to project comparisons
|
2026-04-04 02:17:06 -05:00 |
|
Antonio SJ Musumeci
|
f2c8e5d9eb
|
Add FUSE request_timeout
mkdocs / deploy (push) Has been cancelled
Not yet hooked up to config parser to set as need to evaluate usage.
|
2026-04-01 23:20:05 -05:00 |
|
Antonio SJ Musumeci
|
b581c5d5e7
|
Add support for FUSE_COPY_FILE_RANGE_64
|
2026-04-01 23:20:05 -05:00 |
|
Antonio SJ Musumeci
|
1ebc8cfa5f
|
Enable statx with file handle
mkdocs / deploy (push) Waiting to run
|
2026-03-31 19:53:17 -04:00 |
|
Antonio SJ Musumeci
|
acfa797503
|
Misc formatting changes
|
2026-03-31 19:53:17 -04:00 |
|
Antonio SJ Musumeci
|
7fc20457ca
|
Rework open file resource management
|
2026-03-31 19:53:17 -04:00 |
|
Antonio SJ Musumeci
|
ecee84b323
|
Improve proj comparisons + new SnapRAID details
|
2026-03-31 19:51:28 -04:00 |
|
Antonio SJ Musumeci
|
b8776d205d
|
Update docs; add nofs, policyfs and greyhole
mkdocs / deploy (push) Has been cancelled
|
2026-03-27 22:54:39 -05:00 |
|
Antonio SJ Musumeci
|
06433a0548
|
Fallback to fusermount3 where available
mkdocs / deploy (push) Has been cancelled
Also general cleanup of mount_generic.
|
2026-03-24 21:13:34 -04:00 |
|
Antonio SJ Musumeci
|
f4b602340b
|
Add more integration tests
|
2026-03-24 21:13:34 -04:00 |
|
Antonio SJ Musumeci
|
a78aef36e0
|
Additional check for ENOTCONN on mount
|
2026-03-24 21:13:34 -04:00 |
|
Antonio SJ Musumeci
|
0d05523dfd
|
Move maintainence thread func take u64 rather than int
signed rollover is UB
|
2026-03-24 21:13:34 -04:00 |
|
Antonio SJ Musumeci
|
0cfab60f37
|
replace raw C-strings with std::string in converted libfuse files
util/mount.mergerfs.cpp:
- Remove xstrdup/xrealloc wrappers entirely
- Convert type, source, options, command, setuid to std::string
- Replace add_arg() pointer-rewriting with shell_quote() returning std::string
- Replace add_option() with simple std::string += concatenation
- Fix const_cast UB on string literal assignment
lib/helper.cpp:
- Convert add_default_subtype local subtype_opt: malloc+snprintf+free -> std::string construction
lib/mount_generic.h:
- Convert fuse_mount_sys locals source/type: malloc+strcpy+strcat -> std::string
- Remove 4 unnecessary free() calls (RAII cleanup)
- .c_str() at mount() and fuse_mnt_add_mount() boundaries
lib/mount_util.h:
- Rewrite fuse_mnt_resolve_path internals using std::string: rfind/substr
instead of manual pointer arithmetic, strrchr, strlen chains
|
2026-03-24 21:13:34 -04:00 |
|
Antonio SJ Musumeci
|
21966ade97
|
Convert vendored/libfuse C sources to C++17
Convert all C source files in vendored/libfuse/ to C++17:
- lib/crc32b.c -> crc32b.cpp (const void* cast)
- lib/fuse_opt.c -> fuse_opt.cpp (designated init, void* arithmetic)
- lib/fuse_signals.c -> fuse_signals.cpp
- lib/helper.c -> helper.cpp (void* data cast)
- lib/mount.c -> mount.cpp (thin wrapper)
- lib/mount_generic.c -> mount_generic.h (static inline, #pragma once)
- lib/mount_bsd.c -> mount_bsd.h (static inline, #pragma once)
- lib/mount_util.c -> mount_util.h (static inline, #pragma once)
- util/fusermount.c -> fusermount.cpp
- util/mount.mergerfs.c -> mount.mergerfs.cpp
Key changes:
- Replace C99 designated initializer in fuse_opt_parse with field-by-field init
- Fix void* pointer arithmetic via char* base + offset pattern
- All C-style (T*)voidptr casts replaced with static_cast/reinterpret_cast
- Remove redundant #define _GNU_SOURCE (already in FUSE_FLAGS)
- Wrap __clone2 declaration in extern "C" for ia64 path
- Update Makefile: empty SRC_C, build utils with $(CXX) instead of $(CC)
- Remove stale .c files now replaced by .cpp/.h counterparts
All binaries build cleanly: mergerfs, mergerfs-fusermount, mount.mergerfs
|
2026-03-24 21:13:34 -04:00 |
|
Antonio SJ Musumeci
|
96eb51eecb
|
Move fuse_session to C++ and make exit flag atomic
|
2026-03-24 21:13:34 -04:00 |
|