Antonio SJ Musumeci
|
105511d056
|
Fallback to fusermount3 where available
Also general cleanup of mount_generic.
|
11 hours ago |
Antonio SJ Musumeci
|
1f90800d6e
|
Add more integration tests
|
1 day ago |
Antonio SJ Musumeci
|
674b5468d8
|
Additional check for ENOTCONN on mount
|
2 days ago |
Antonio SJ Musumeci
|
e9095f9538
|
Move maintainence thread func take u64 rather than int
signed rollover is UB
|
2 days ago |
Antonio SJ Musumeci
|
5b83bc0ad2
|
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
|
2 days ago |
Antonio SJ Musumeci
|
4cc628e231
|
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
|
2 days ago |
Antonio SJ Musumeci
|
793ce78f8a
|
Move fuse_session to C++ and make exit flag atomic
|
2 days ago |
Antonio SJ Musumeci
|
a218376b27
|
Fix null ptr handling issue in ioctl processing
|
3 days ago |
Antonio SJ Musumeci
|
fe36efbb86
|
Fix error condition in fs_copyfile
|
3 days ago |
Antonio SJ Musumeci
|
4185615eb4
|
Fix readlink implementation, add more tests
|
3 days ago |
Antonio SJ Musumeci
|
055b03a6b4
|
More aggressive error handing with pagesize queries
|
5 days ago |
Antonio SJ Musumeci
|
6fc3289b3e
|
Auto-commit fuse_msgbuf.cpp
|
5 days ago |
Antonio SJ Musumeci
|
0b4ecc0226
|
Use fatal::abort() rather than assert in places
|
5 days ago |
Antonio SJ Musumeci
|
0b3600ddcf
|
Move scope_guard to vendored/
|
6 days ago |
Antonio SJ Musumeci
|
16b5b7c3a2
|
Cleanup procfs and abort on critical issues
|
6 days ago |
Antonio SJ Musumeci
|
5d4b88c5f8
|
Cleanup branches and add more unit tests
|
6 days ago |
Antonio SJ Musumeci
|
6ca9fba0e4
|
Cleanup config and add tests
|
6 days ago |
Antonio SJ Musumeci
|
1af0084279
|
fs_wait_for_mount cleanup
|
7 days ago |
Antonio SJ Musumeci
|
a61f8771d0
|
fs_inode cleanup
|
7 days ago |
Antonio SJ Musumeci
|
c9bef66914
|
Fixup listxattr error handling
|
7 days ago |
Antonio SJ Musumeci
|
23dbb3a082
|
Small improvements to fs::statvfs_cache
|
7 days ago |
Antonio SJ Musumeci
|
27a5bf95b9
|
Cleanup fuse_readlink
|
1 week ago |
Antonio SJ Musumeci
|
716636ced9
|
Improve thread pool
|
1 week ago |
Antonio SJ Musumeci
|
9e3e4b690d
|
Fix possible error handling issue with errno
|
1 week ago |
Antonio SJ Musumeci
|
73c917b728
|
Make cfgfile depth calculation thread friendly
|
1 week ago |
Antonio SJ Musumeci
|
a55f1f5c7d
|
Improve error handling when querying pagesize
|
1 week ago |
Antonio SJ Musumeci
|
9bfe9af9bf
|
Misc fixes and improvements to thread pool
|
2 weeks ago |
Antonio SJ Musumeci
|
b6d70a5902
|
Rework string utils, more test cases
|
2 weeks ago |
Antonio SJ Musumeci
|
c248dddef2
|
Better error handling in pagesize config type
|
2 weeks ago |
Antonio SJ Musumeci
|
7ee2d65cad
|
Check string is not empty before resize in Config::keys
|
2 weeks ago |
Antonio SJ Musumeci
|
ca4c7304da
|
Fix error handling in fuse chmod, chown, setxattr, removexattr
|
2 weeks ago |
Antonio SJ Musumeci
|
56e1bc7b0c
|
Ensure zero initialized timeouts structs
|
2 weeks ago |
Antonio SJ Musumeci
|
632ece58d4
|
Fix incorrect type in fs_read and write
|
2 weeks ago |
Antonio SJ Musumeci
|
bec6a6dc3f
|
Remove dead branch in fuse_reply_data
|
2 weeks ago |
Antonio SJ Musumeci
|
434d5a42ed
|
Change session->exited to sig_atomic_t
|
2 weeks ago |
Antonio SJ Musumeci
|
3c0bbe7bed
|
Initialize stat buffer and add stat call in fuse_mount_sys
|
2 weeks ago |
Antonio SJ Musumeci
|
cde19c0da2
|
Add NULL check for cmsg in receive_fd to prevent segfault
|
2 weeks ago |
Antonio SJ Musumeci
|
c560dc4405
|
Fix buffer overflow in readlink by reserving space for null terminator
|
2 weeks ago |
Antonio SJ Musumeci
|
249b75dc29
|
Use RND class for shrink_to_rand_elem and add assertions
|
2 weeks ago |
Antonio SJ Musumeci
|
a9ea8374da
|
fix objpool: add size tracking, improve allocation matching; fix msgbuf: clear pool on size change
|
2 weeks ago |
Antonio SJ Musumeci
|
92cf0dddc5
|
fix policy_eppfrd.cpp: return 0 when branchinfo found, -ENOENT only when empty
|
2 weeks ago |
Antonio SJ Musumeci
|
c1ed922142
|
fix str.cpp: use string_view::npos, fix erase() calls, remove extra whitespace
|
2 weeks ago |
Antonio SJ Musumeci
|
37c942632d
|
Remove iterator methods from Branches class
|
2 weeks ago |
Antonio SJ Musumeci
|
e50deb280b
|
Fix futimens bugs: stat pointer, variable names, and negation
|
2 weeks ago |
Antonio SJ Musumeci
|
f34bc166b1
|
Add null pointer checks for FileInfo/DirInfo
|
2 weeks ago |
Antonio SJ Musumeci
|
f67d087e58
|
Fix copydata_copy_file_range bug
|
2 weeks ago |
Antonio SJ Musumeci
|
3226c7a7c3
|
Fix eplus search bug
Not that anyone would ever use this but it was noticed in a scan.
|
2 weeks ago |
Antonio SJ Musumeci
|
6a6aa054cd
|
Add support for Arch, btw
|
1 week ago |
Antonio SJ Musumeci
|
04939bbe72
|
No longer explicitly error out on broken mount point
If ENOTCONN (broken FUSE mount) umount first and continue to mount.
|
2 weeks ago |
Antonio SJ Musumeci
|
2ea6290e4b
|
Update limiting drive spinup doc
|
3 weeks ago |