mergerfs/libfuse/lib
Emanuel Haupt d8918458bf
Some checks failed
mkdocs / deploy (push) Has been cancelled
libfuse: fix narrowing conversion of nsec fields on i386 (#1593)
On 32 bit platforms tv_nsec is a signed long while the FUSE setattr
arguments provide nanoseconds as uint32_t. C++17 treats uint32_t -> long
in a brace initializer as a narrowing conversion and rejects it on ILP32
targets. This surfaced when building on FreeBSD i386 with clang 19 where
the compiler refused the list initialization of struct timespec.

Add explicit static_cast<long>() for the nsec fields to make the
conversion intentional and portable. This avoids build failures on i386
while leaving 64 bit builds unchanged.
2025-11-29 10:45:20 -06:00
..
cpu.cpp Add support for FUSE passthrough 2025-06-05 23:47:42 -05:00
cpu.hpp Improve FreeBSD compatibility 2025-01-15 22:10:02 -06:00
crc32b.c Add more debugging options to makefiles and cleanup (#1556) 2025-10-29 22:42:42 -05:00
crc32b.h Move fuse.c and fuse_lowlevel.c to C++ 2025-01-09 19:05:32 -06:00
debug.cpp Allow setting of passthrough max-stack-depth (#1542) 2025-10-07 21:52:13 -05:00
debug.hpp Misc cleanup 2025-06-06 19:10:19 -05:00
fmp.h Move fuse.c and fuse_lowlevel.c to C++ 2025-01-09 19:05:32 -06:00
format.cpp Rework thread pool for increased stability + config and doc updates (#1453) 2025-05-05 18:28:49 -05:00
fuse.cpp libfuse: fix narrowing conversion of nsec fields on i386 (#1593) 2025-11-29 10:45:20 -06:00
fuse_cfg.cpp Rework config, centralize fuse config (#1547) 2025-10-24 08:20:29 -05:00
fuse_dirents.cpp Misc fixes, mostly for FreeBSD (#1536) 2025-09-28 23:17:51 -05:00
fuse_i.h Rework config, centralize fuse config (#1547) 2025-10-24 08:20:29 -05:00
fuse_ll.hpp Add getdents based readdir functions for Linux (#1533) 2025-09-23 23:51:21 -05:00
fuse_loop.cpp Rework config, centralize fuse config (#1547) 2025-10-24 08:20:29 -05:00
fuse_lowlevel.cpp Further tweaks to config parsing and error reporting (#1559) 2025-11-01 15:20:30 -05:00
fuse_msgbuf.cpp Rework config, centralize fuse config (#1547) 2025-10-24 08:20:29 -05:00
fuse_opt.c Build improvements (#1501) 2025-08-04 23:39:52 -05:00
fuse_session.c Build improvements (#1501) 2025-08-04 23:39:52 -05:00
fuse_signals.c Add manual GC triggering + configurable process queue depth 2023-06-26 22:44:23 -05:00
helper.c Misc cleanup for FreeBSD and clang (#1560) 2025-11-02 10:49:22 -06:00
khash.h Major rework of memory allocation using fixed mem pools 2021-09-19 16:48:03 -04:00
lfmp.h Add debugging of mutexes (#1470) 2025-05-26 00:44:39 -05:00
lock.h Add manual GC triggering + configurable process queue depth 2023-06-26 22:44:23 -05:00
maintenance_thread.cpp Update the secondary group cache (#1492) 2025-07-05 17:05:53 -05:00
make_unique.hpp Add manual GC triggering + configurable process queue depth 2023-06-26 22:44:23 -05:00
mount.c replace libfuse's autoconf with makefile 2019-02-18 21:36:32 -05:00
mount_bsd.c Misc cleanup for FreeBSD and clang (#1560) 2025-11-02 10:49:22 -06:00
mount_generic.c Misc cleanup for FreeBSD and clang (#1560) 2025-11-02 10:49:22 -06:00
mount_util.c Remove 'nonempty' argument 2023-01-16 23:33:36 -05:00
mount_util.h Remove 'nonempty' argument 2023-01-16 23:33:36 -05:00
node.cpp Add debugging of mutexes (#1470) 2025-05-26 00:44:39 -05:00
node.hpp Add support for FUSE passthrough 2025-06-05 23:47:42 -05:00
pin_threads.cpp Build improvements (#1501) 2025-08-04 23:39:52 -05:00
pin_threads.hpp Rework thread pool for increased stability + config and doc updates (#1453) 2025-05-05 18:28:49 -05:00
scope_guard.hpp Add manual GC triggering + configurable process queue depth 2023-06-26 22:44:23 -05:00