Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
311 commits
Select commit Hold shift + click to select a range
622dca0
build(deps): bump github/codeql-action from 3.28.9 to 3.28.11
dependabot[bot] Mar 10, 2025
431d69a
doc: Add new README about notification operations
luis-henrix Mar 4, 2025
3a291c3
Add PanFS to whitelist
jnr0006 Mar 12, 2025
3ae5ca7
fuse_common.h: Convert back FUSE_CAP_ from enum to defines
bsbernd Mar 13, 2025
065272a
fuse_session_receive_buf: Fix the pipe buf size
bsbernd Mar 7, 2025
1b86fe4
fuse_lowlevel: Simplify se->buf_reallocable
bsbernd Mar 11, 2025
b9fc5a0
fusermount: prevent stdio FDs from being reused
bsbernd Feb 22, 2025
bdddba7
Switch .dir-locals.el to linux kernel style
bsbernd Feb 20, 2025
9f7597a
Fix a comment typo "passed to the filesystem.n"
bsbernd Mar 19, 2025
14520a6
convert LL_ENABLE/LL_DISABLE to do-while-loop
bsbernd Mar 22, 2025
5d1c49e
test/test_write_cache.c: Reformat with clang-format
bsbernd Mar 22, 2025
f68970c
fuse: Fix want flag conversion
bsbernd Mar 22, 2025
1f1a78b
checkpatch: Ignore dependabot commits
bsbernd Mar 25, 2025
86817c3
build(deps): bump github/codeql-action from 3.28.11 to 3.28.13
dependabot[bot] Mar 25, 2025
6cdb650
example/hello_ll.c: Improve the compilation comments
Mar 25, 2025
a25fb9b
example: Add a compilation instruction in README.compile
Mar 27, 2025
eabe4b6
lib: Add usdt.h
joannekoong Feb 24, 2025
11fde23
fuse_lowlevel: add tracepoints for request receiving, processing, and…
joannekoong Feb 21, 2025
9265134
example: add usdt.bt
joannekoong Feb 24, 2025
206f4a4
Fix build with kernel < 5.9
giuliobenetti Mar 31, 2025
197ea99
Fix static_assert build failure with C++ version < 11
giuliobenetti Apr 4, 2025
ead0a13
meson: add option for enabling usdt
joannekoong Apr 2, 2025
1250740
fuse_lowlevel: Set bufsize if HAVE_SPLICE is not define and avoid race
bsbernd Apr 7, 2025
cb586bb
build(deps): bump github/codeql-action from 3.28.13 to 3.28.15
dependabot[bot] Apr 8, 2025
0d4a628
lib: remove second fuse_main_real_versioned declaration
bjdooks-ct Apr 9, 2025
d66ca89
mount: Add FUSE_KERN_DEVICE env variable to specify fuse kernel device
Apr 10, 2025
3863da5
conn: prevent duplicate flag conversion in high-level interface
bsbernd Apr 15, 2025
7c60178
Check if pthread_setname_np() exists before use it
giuliobenetti Apr 23, 2025
f0dd864
example: fix memfs_rename deadlock error
201341 Apr 23, 2025
e025a78
signal handlers: Store fuse_session unconditionally
bsbernd Apr 23, 2025
c5dbcdc
Fix multi-threaded fuse session exit
bsbernd Mar 30, 2025
e940beb
Fix test/test_examples.py::test_passthrough
bsbernd Apr 24, 2025
82bcd81
Fix meson function tests
bsbernd Apr 24, 2025
0eb8513
meson.build: make special_funcs check more reliable
giuliobenetti Apr 25, 2025
066ed64
Add fuse-io-uring dependencies to github workfow files
bsbernd Mar 24, 2025
d393ffa
Synchronize fuse_kernel.h with linux-6.14
bsbernd Mar 24, 2025
2f4d7ca
fuse_lowlevel: Add support for header/payload separation
bsbernd Mar 24, 2025
c5a032b
Add container_of and ROUND_UP macros
bsbernd Apr 15, 2025
ef533e2
Add a fuse_set_thread_name() helper
bsbernd Apr 24, 2025
dde540e
fuse: Add ring creation
bsbernd Mar 24, 2025
da355f7
Add support for ring creation in fuse_lowlevel.c
bsbernd Mar 24, 2025
04ecefb
fuse_lowlevel: Split fuse_send_msg
bsbernd Mar 24, 2025
9367748
fuse_ll_ops: Make fuse_ino_t const
bsbernd Mar 25, 2025
913c377
Add a basic io-uring cqe handler
bsbernd Mar 25, 2025
d4abf66
Add fuse_session_process_uring_cqe
bsbernd Mar 26, 2025
988ef11
Add fuse-io-uring reply support
bsbernd Mar 26, 2025
3824fab
fuse_common.h: Prefix flags with 1UL
bsbernd Apr 15, 2025
71b6fb7
fuse: Add io-uring options
bsbernd Apr 15, 2025
538b51f
Add fuse_req_is_uring() to check if a req comes through io-uring
bsbernd Apr 15, 2025
91c9803
passthrough_hp: Add io-uring options
bsbernd Apr 15, 2025
3421cab
env variables to override default io-uring enable and q-depth
bsbernd Apr 24, 2025
e70f91c
Set FUSE_CAP_OVER_IO_URING flag - allow io-uring mode
bsbernd Apr 15, 2025
e122b3f
Add a README for fuse-over-io-uring
bsbernd Apr 28, 2025
3ea426d
lib/fuse.c: refactor handler logic for readability
joannekoong Feb 18, 2025
aa2e891
build(deps): bump github/codeql-action from 3.28.15 to 3.28.16
dependabot[bot] Apr 28, 2025
83e7dce
fuse_lowlevel.c: Fix a small spelling mistake
Apr 29, 2025
cd50316
Update include/fuse_kernel.h to version 7.43
joannekoong Jan 23, 2025
84a27de
Support request timeouts
joannekoong Jul 17, 2024
7812b66
build(deps): bump github/codeql-action from 3.28.16 to 3.28.17
dependabot[bot] May 5, 2025
65b388f
build(deps): bump github/codeql-action from 3.28.17 to 3.28.18
dependabot[bot] May 19, 2025
eadd6a5
Make conn->want/want_ext conversion non fatal
bsbernd May 17, 2025
baadab0
conn->want conversion: Fix fuse_apply_conn_info_opts()
bsbernd May 17, 2025
cea9b33
Fix build in musl libc
luis-henrix May 22, 2025
fc71597
fuse_lowlevel.c: Remove duplicate descriptions of auto_unmount
May 28, 2025
b773020
Update how to use the io_uring and io_uring_q_depth mount options
Jun 3, 2025
22f6062
build(deps): bump github/codeql-action from 3.28.18 to 3.28.19
dependabot[bot] Jun 9, 2025
05cbdf6
mount_bsd.c: Fix race between actual mounting and returning to the ca…
arrowd Jun 5, 2025
3d8aba6
gitignore: add .DS_Store
httpstorm Jun 12, 2025
6787608
fuse_signals.c: fix build warning when HAVE_BACKTRACE is undefined
httpstorm Jun 12, 2025
324f1c7
tests: Add an exception for output "error"
bsbernd Jun 4, 2025
e64a616
help: Remove duplicate io_uring options from fuse_cmdline_help
Jun 9, 2025
5724a99
gitignore: add *.patch
httpstorm Jun 13, 2025
77e7df4
build(deps): bump github/codeql-action from 3.28.19 to 3.29.0
dependabot[bot] Jun 16, 2025
00dd846
Reformat passthrough_hp with clang-format
bsbernd Jun 17, 2025
4108904
example/passthrough_hp: Show fuse lowlevel help options
bsbernd Jun 16, 2025
f4c5d20
Fix io-uring teardown
bsbernd Jun 16, 2025
3793b17
mount_util.c: check if utab exists before update
httpstorm Jun 15, 2025
5ceb0b0
fuse: add support to FUSE_NOTIFY_INC_EPOCH
luis-henrix May 22, 2025
1caf816
tests: example: add new test for increment epoch
luis-henrix Jun 18, 2025
43e36ff
example/ioctl_client: Delete the redundant comment
Jun 18, 2025
abd0a98
Clarify offset field is signed despite uint64_t type
Jun 22, 2025
1016d16
Catch up with fuse_send_data_iov() signature changes in the fallback …
arrowd Jun 24, 2025
596732d
meson: Check for some Linux-specific headers
arrowd Jun 24, 2025
e9a140b
examples: Guard inclusions of Linux headers with appropriate ifdefs
arrowd Jun 24, 2025
9168e3b
memfs_ll: Fix compiling on non-Linux OSes
arrowd Jun 24, 2025
f8fe398
passthrough_hp: Abstract out the fd -> path transition
arrowd Jun 24, 2025
8e649e8
passthrough_hp: Fix compilation on systems without O_TMPFILE support
arrowd Jun 24, 2025
f0ec646
meson: Enable building C++ examples on FreeBSD
arrowd Jun 24, 2025
57227e4
FreeBSD: test runner
vassilit Feb 20, 2025
1bb2f2a
memfs_ll: Fix unused variable warning
arrowd Jun 25, 2025
4de3db4
passthrough_hp: Fix unused function warning
arrowd Jun 25, 2025
fc1c8da
license: s/COPYING/GPL2.txt, s/COPYING.LIB/LGPL2.txt
Jun 19, 2025
4166f2e
build(deps): bump github/codeql-action from 3.29.0 to 3.29.2
dependabot[bot] Jul 1, 2025
db5a1b6
example/passthrough: refactor fallocate
CismonX Jul 9, 2025
21a27e3
example/passthrough: tidy up passthrough_helpers.h
CismonX Jul 9, 2025
fc9888e
example/passthrough: support fspacectl()
CismonX Jul 9, 2025
3be8441
Switch to c++20
bsbernd Jul 15, 2025
b507cbc
Add statx support
joannekoong Aug 23, 2024
194023c
fusermount: Fix the close_range ifdef
bsbernd Jul 15, 2025
5f6d3be
fusermount: close_range seems to be available on bsd
bsbernd Jul 15, 2025
d825377
Avoid double unmount on FUSE_DESTROY
bsbernd Jul 15, 2025
b96c738
memfs_ll: fix deadlock in truncate operation
Jul 16, 2025
0d15126
example/memfs_ll: Avoid nullptr field initializations by pragma
bsbernd Jul 19, 2025
6d02f5d
build(deps): bump github/codeql-action from 3.29.2 to 3.29.3
dependabot[bot] Jul 21, 2025
e1e7b11
fuse-over-io-uring: Remove handling of -EOPNOTSUPP
bsbernd Jul 19, 2025
0624650
fuse-io-uring: Add sanity check for the number of queue entries
bsbernd Jul 20, 2025
2f092ef
Simplify meson condition for liburing
bsbernd Jul 21, 2025
e915a28
Split fuse-io-uring startup
bsbernd Jul 20, 2025
898def7
fuse_uring_i.h: Include errno.h
bsbernd Jul 21, 2025
7e2dc4a
high level: Remove the nullpath_ok log message
bsbernd Jul 21, 2025
db74ec7
mount_bsd.c: Actually report mount failures back to caller
arrowd Jul 24, 2025
95b9d3b
Update issue templates
bsbernd Aug 2, 2025
ba8a3a4
build(deps): bump github/codeql-action from 3.29.3 to 3.29.5
dependabot[bot] Aug 5, 2025
33ec237
build(deps): bump actions/checkout from 4 to 5
dependabot[bot] Aug 12, 2025
2454ff1
build(deps): bump github/codeql-action from 3.29.7 to 3.29.8
dependabot[bot] Aug 12, 2025
42b9b3b
fuse_loop_mt.c: fix close-on-exec flag on clone fd
CismonX Aug 12, 2025
a63fc71
tests: move struct size assertions into a test
CismonX Aug 19, 2025
8b8ce5a
build(deps): bump github/codeql-action from 3.29.8 to 3.29.10
dependabot[bot] Aug 19, 2025
bd8d8cd
io-uring startup: Fix spinning and variable read
bsbernd Aug 18, 2025
210d92f
fuse-io-uring: Fix double count of ring_pool->failed_threads
bsbernd Aug 18, 2025
253ea91
fuse-io-uring: Release io-uring resources on io-uring startup failure
bsbernd Aug 18, 2025
d52ae4f
Allow applications to retrieve the req payload (io-uring only)
bsbernd May 28, 2025
7e6cdc7
send_reply_uring: Avoid memcpy if src and dest are identical
bsbernd May 28, 2025
c7c5dbe
Fix passthrough_hp.cc indentation
bsbernd Aug 22, 2025
63579df
build(deps): bump github/codeql-action from 3.29.10 to 3.29.11
dependabot[bot] Aug 26, 2025
49ad73a
build(deps): bump github/codeql-action from 3.29.11 to 3.30.1
dependabot[bot] Sep 8, 2025
3ff309e
build(deps): bump actions/setup-python from 5 to 6
dependabot[bot] Sep 8, 2025
2317d86
libfuse: fix COPY_FILE_RANGE interface
Aug 5, 2025
939fc0d
build(deps): bump github/codeql-action from 3.30.1 to 3.30.3
dependabot[bot] Sep 15, 2025
6e4557c
libfuse: don't put HAVE_STATX in a public header
Sep 16, 2025
52a633a
fuse_lowlevel.c: allow passing ops as NULL
In-line Sep 9, 2025
3e2cd9e
fuse_log: Add __attribute__((format(printf, ) and fix warnings
bsbernd Sep 18, 2025
50d1bec
io-uring: re-initialize fields in struct fuse_req
bsbernd Sep 18, 2025
30bf3c8
fuse_loop_mt: Don't create new workers before init is received
bsbernd Aug 31, 2025
59cf26a
FUSE_INIT handler: Set got_init only shortly before send_reply_ok
bsbernd Sep 22, 2025
4337029
build(deps): bump github/codeql-action from 3.30.3 to 3.30.5
dependabot[bot] Sep 29, 2025
382b17d
Fix missing \n termination in fusermount_posix_spawn()
bsbernd Sep 30, 2025
75e32d9
Fixup passthrough_ll.c documentation
z-s-e Oct 5, 2025
e12762b
build(deps): bump github/codeql-action from 3.30.5 to 3.30.6
dependabot[bot] Oct 6, 2025
564d79e
fuse_lowlevel.h: Fix doc typo
z-s-e Oct 12, 2025
36a1c49
build(deps): bump github/codeql-action from 3.30.6 to 4.30.8
dependabot[bot] Oct 13, 2025
2bb125e
build(deps): bump github/codeql-action from 4.30.8 to 4.30.9
dependabot[bot] Oct 20, 2025
f7da4e9
init: fix io-uring mount hang
joannekoong Oct 23, 2025
bf3dd15
fusermount: count mounts with listmount and statmount
blinsay Oct 22, 2025
fd57ba3
fuse_lowlevel.h: remove incorrect documentation (#1357)
z-s-e Oct 29, 2025
c216833
build(deps): bump github/codeql-action from 4.30.9 to 4.31.0
dependabot[bot] Oct 27, 2025
e2886cb
Add FUSE_COPY_FILE_RANGE_64 to doc/libfuse-operations.txt
bsbernd Nov 5, 2025
6247606
build(deps): bump github/codeql-action from 4.31.0 to 4.31.2
dependabot[bot] Nov 3, 2025
f58d4c5
tests: fix a race in wait_for_mount()
Nov 10, 2025
c71727d
build(deps): bump codespell-project/actions-codespell from 2.1 to 2.2
dependabot[bot] Nov 10, 2025
6c9a4d6
build(deps): bump github/codeql-action from 4.31.2 to 4.31.3
dependabot[bot] Nov 17, 2025
0fcaec3
build(deps): bump actions/checkout from 5.0.0 to 5.0.1
dependabot[bot] Nov 17, 2025
8ad076e
Initialize fuse_entry_param in fuse_lib_lookup()
bsbernd Nov 17, 2025
1e19235
example/passthrough_hp: fix race between forget_one and do_lookup
Nov 22, 2025
02c0fc6
example/passthrough_hp: fix race in forget_one()
Nov 25, 2025
ab5033f
example/passthrough_hp: fix debug output in forget_one
Nov 25, 2025
6268c66
lib/fuse.c: fix deallocation in fuse_session_loop_remember
amonakov Nov 26, 2025
e9a81fd
build(deps): bump actions/checkout from 5.0.1 to 6.0.0
dependabot[bot] Nov 24, 2025
f1a375e
build(deps): bump github/codeql-action from 4.31.3 to 4.31.5
dependabot[bot] Nov 24, 2025
4ed0ed7
fuse-io-uring: fix narrowing integer conversion of commit_id
lostjeffle Aug 11, 2025
f96ec67
build(deps): bump github/codeql-action from 4.31.5 to 4.31.6
dependabot[bot] Dec 2, 2025
7bf0995
Don't yield zero d_ino with adaptive readdirplus
vasi Nov 24, 2025
e1525c4
Clarify that use_ino takes priority over FUSE_FILL_DIR_PLUS
vasi Dec 2, 2025
c2fb674
build(deps): bump actions/checkout from 6.0.0 to 6.0.1
dependabot[bot] Dec 8, 2025
4f81b84
build(deps): bump github/codeql-action from 4.31.6 to 4.31.7
dependabot[bot] Dec 8, 2025
a6fdf8c
Update fusermount.c
WekaJosh Dec 3, 2025
033e0c3
build(deps): bump github/codeql-action from 4.31.7 to 4.31.8
dependabot[bot] Dec 15, 2025
2bb27d8
fuse-io-uring: Handle EAGAIN/EINTR in fuse-io-uring
bsbernd Nov 23, 2025
834a496
fuse-io-uring: Function rename and split into two function
bsbernd Dec 14, 2025
b9cae49
fuse-io-uring: Initialize queue->eventfd
bsbernd Dec 14, 2025
8e536dc
fuse-io-uring: Add a lock around io_uring_submit / io_uring_submit_an…
bsbernd Dec 14, 2025
4dea65b
Add signify verification in make_release_tarball.sh
bsbernd Aug 12, 2025
8bfc50d
Prepare 3.18.0 release
bsbernd Dec 18, 2025
9157d99
prepare 3.18.0 release v2
bsbernd Dec 18, 2025
98f94e0
Fix fuse version script / 3.17.3 to 3.18
bsbernd Dec 20, 2025
c35865b
Add an ABI check for the last tag of the previous release
bsbernd Dec 20, 2025
2a6da8c
Prepare the 3.18.1 release
bsbernd Dec 20, 2025
7beb86c
fuse-io-uring: Fix NULL deref and memory leak in fuse_uring_init_queue
abhinavagarwal07 Mar 17, 2026
49fcd89
fuse-io-uring: Fix UAF and NULL deref in startup error path
abhinavagarwal07 Mar 16, 2026
0338447
Prepare 3.18.2 release
bsbernd Mar 18, 2026
a486808
fusermount: don't try opening mnt with privs during auto_umount
Aug 24, 2026
d9f2b71
checkpatch: move the call into a script and tune the ignore list
bsbernd Aug 31, 2026
54c9cde
checkpatch.pl: update to linux 7.0
May 12, 2026
bea7525
abi check: Move the actual check to a script
bsbernd Apr 5, 2026
d111104
test: replace the pytest suite with the shell runner
bsbernd Jul 28, 2026
dea927d
lib: pass UMOUNT_NOFOLLOW on the kernel unmount paths
bsbernd Aug 30, 2026
d28f9e3
fusermount: pass UMOUNT_NOFOLLOW on the non-setuid unmount path
bsbernd Aug 30, 2026
6fde84a
fusermount: Check fstat return value for comm fd validation
abhinavagarwal07 Apr 15, 2026
b80e530
fusermount: pass UMOUNT_NOFOLLOW on the send_fd cleanup path
bsbernd Aug 30, 2026
8dea5a6
fusermount: Guard trailing comma removal against empty string
abhinavagarwal07 Apr 15, 2026
1dae9ce
util: avoid a pointer underflow when trimming fuse.conf lines
bsbernd Aug 31, 2026
3973490
fusermount: Reject invalid negative mount_max in fuse.conf
abhinavagarwal07 Aug 31, 2026
e1af091
Fix a sign bug in prepare_fuse_fd()
bsbernd Apr 29, 2026
303a27c
mount_util: terminate the mount and umount argv with --
Keerthana-64 Aug 31, 2026
b192f05
mount_util: skip mtab updates for option-like mount arguments
bsbernd Aug 31, 2026
9ac67ca
fuse_lowlevel: fix io_uring notify retrieve reply buffer handling
lostjeffle Aug 19, 2026
99d7e06
fuse-io-uring: fix req_header_sz size calculation
lostjeffle Jun 12, 2026
af4fc9d
fuse_lowlevel: Add O_CLOEXEC to pipe-max-size procfs open
abhinavagarwal07 Apr 15, 2026
1fdc46b
iconv: Fix copy-paste error checking wrong iconv descriptor
abhinavagarwal07 Apr 15, 2026
8dc964a
fuse_loop_mt: Remove duplicate pthread_mutex_destroy of mt_lock
abhinavagarwal07 Apr 15, 2026
590d18c
lib: Fix -ENOMEM null-dereferences in fuse_loop_mt.c
bsbernd Apr 4, 2026
facef06
fuse_lowlevel: check fuse_ll_ops2 in uring CQE dispatch
lostjeffle Jun 18, 2026
1ddceaf
fix: add assert to prevent NULL pointer dereference in try_get_path
mikhailnov Feb 28, 2026
60b62dd
example/cuse_client: cap the transfer size
bsbernd Jul 28, 2026
f9cdb20
fuse_lowlevel: Free mountpoint in fuse_session_destroy
abhinavagarwal07 Aug 31, 2026
18dc5ea
examples: reformat notify_* with clang-format
bsbernd Aug 31, 2026
f38c880
examples: use localtime_r() in update_fs()
bsbernd Aug 31, 2026
487e5b3
memfs_ll: fix the locking, refcounting and bounds bugs
bsbernd Jun 17, 2026
072a646
example/passthrough_hp: protect the dir stream with a DirHandle lock
bsbernd Aug 6, 2026
0d76d3a
example/passthrough_hp: take fs.mutex when link() raises nlookup
bsbernd Aug 6, 2026
565550f
example/passthrough_hp: acquire fs.mutex before Inode::m
bsbernd Aug 6, 2026
e93350b
example/passthrough_hp: drop the object lock before replying
bsbernd Aug 6, 2026
bdcd0ed
example/passthrough_hp: do not hold inode locks across syscalls
bsbernd Aug 6, 2026
9ce07a2
fusermount: resolve the mountpoint without a second lookup
bsbernd Aug 31, 2026
fe1ed26
Fix hang on statx call
nikola-sh Mar 23, 2026
ce539e5
fix missing fuse_loop_mt_312 declararion without symbol versioning
bsbernd Aug 2, 2026
4cb9f8e
Fix Clang 21 compile error: non-assignable lvalue in ST_MTIM_NSEC
wangrzneu Mar 28, 2026
c12d9e5
lib: Fix fd-leak in helper.c fuse_daemonize()
bsbernd Apr 4, 2026
8747bc3
lib: Fix leak of mountpoint in fuse_session_mount
bsbernd Apr 4, 2026
9a9b2a3
lib/fuse.c: Fix memory leak when pthread_setspecific fails
bsbernd Apr 4, 2026
2881ac4
lib/fuse_lowlevel.c: Fix memory leak when pipe size cannot be grown
bsbernd Apr 4, 2026
aa6ed3a
Fix memory leak in print_module_help()
abhinavagarwal07 Apr 7, 2026
6c45a95
fuse: prevent possible fuse_pollhandle leak
mihalicyn May 12, 2026
d684099
lib: document which loop fuse_session_exit() wakes
bsbernd Aug 1, 2026
a12a896
doc: replace "futur irrealis"-like tense in manpages
jengelh Jan 13, 2026
830a26a
Update homepage at man page (#1511)
wilkis3 Jun 6, 2026
1718d51
update kernel FUSE io_uring doc URL
benjaminp Apr 18, 2026
55f9038
Fix a README typo.
bsbernd Apr 7, 2026
b53a0c2
fix typo in comments; FUSE_LOOP_MT_DEF_IDLE_THREADS is -1, not 10
double-fault Jun 3, 2026
dba568e
make_release_tarball.sh: Fix signify verification
bsbernd Dec 27, 2025
bc0852b
docs: the fuse-devel list moved to lists.linux.dev
bsbernd Aug 31, 2026
04e7278
test: split _require_fuse_device out of _require_fuse
bsbernd Aug 30, 2026
90cb0c9
test: cover the fusermount3 mountpoint checks
bsbernd Aug 30, 2026
7f6824d
mount: check if CMSG_FIRSTHDR() returned NULL
Mar 20, 2026
803e4ea
fuse_uring: continue submission on a failing commit SQE
bsbernd Jun 22, 2026
00caa96
lib: commit the ring entry in fuse_reply_none()
quobert Aug 10, 2026
edb7303
fusermount: treat ECONNABORTED as a dead connection too
bsbernd Sep 1, 2026
4afc4cc
fusermount: use unmount_fuse() on send_fd() failure
Sep 1, 2026
c4ffa64
abicheck: allow claiming fuse_file_info padding bits
bsbernd Aug 30, 2026
e9c88a3
lib: relay the KILLPRIV_V2 kill-suidgid flags to the filesystem
quobert May 3, 2024
0c33835
Prepare 3.18.3-rc1
bsbernd Aug 31, 2026
b1a3053
doc: describe custom io and what libfuse does not validate
bsbernd Aug 31, 2026
006c0b1
build: add enable-custom-io, off by default
bsbernd Aug 31, 2026
7cad94b
Released fuse-3.18.3
bsbernd Sep 8, 2026
8b641f6
example: refactor poll_client to remove FSEL_FILES macro
wangrzneu Mar 28, 2026
bae0cba
Set unreleased in the changelog, one backport missing
bsbernd Sep 8, 2026
3dbcfce
Released fuse-3.18.3
bsbernd Sep 8, 2026
328e9d1
DAOS-623 build: Merge tag 'fuse-3.18.3'
mchaarawi Nov 4, 2026
5bf9273
Use fused versioning: 1.2.0 (synced with fuse-3.18.3)
mchaarawi Nov 2, 2026
0b7c239
DAOS: use fork+exec instead of posix_spawn for fusermount3
mchaarawi Nov 2, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
107 changes: 62 additions & 45 deletions .dir-locals.el
Original file line number Diff line number Diff line change
@@ -1,47 +1,64 @@
((python-mode . ((indent-tabs-mode . nil)))
(autoconf-mode . ((indent-tabs-mode . t)))
(c++-mode . ((c-file-style . "k&r")
(indent-tabs-mode . nil)
(c-basic-offset . 4)
(c-file-offsets .
((block-close . 0)
(brace-list-close . 0)
(brace-list-entry . 0)
(brace-list-intro . +)
(case-label . 0)
(class-close . 0)
(defun-block-intro . +)
(defun-close . 0)
(defun-open . 0)
(else-clause . 0)
(inclass . +)
(label . 0)
(statement . 0)
(statement-block-intro . +)
(statement-case-intro . +)
(statement-cont . +)
(substatement . +)
(topmost-intro . 0)))))
(c-mode . ((c-file-style . "stroustrup")
(indent-tabs-mode . t)
(tab-width . 8)
(c++-mode . ((c-file-style . "linux-kernel")
(c-basic-offset . 8)
(c-label-minimum-indentation . 0)
(c-offsets-alist . (
(arglist-close . c-lineup-arglist-tabs-only)
(arglist-cont-nonempty .
(c-lineup-gcc-asm-reg c-lineup-arglist-tabs-only))
(arglist-intro . +)
(brace-list-intro . +)
(c . c-lineup-C-comments)
(case-label . 0)
(comment-intro . c-lineup-comment)
(cpp-define-intro . +)
(cpp-macro . -1000)
(cpp-macro-cont . +)
(defun-block-intro . +)
(else-clause . 0)
(func-decl-cont . +)
(inclass . +)
(inher-cont . c-lineup-multi-inher)
(knr-argdecl-intro . 0)
(label . -1000)
(statement . 0)
(statement-block-intro . +)
(statement-case-intro . +)
(statement-cont . +)
(substatement . +)
))
(indent-tabs-mode . t)
(show-trailing-whitespace . t)
))
(c-mode . ((c-file-style . "linux-kernel")
(c-basic-offset . 8)
(c-file-offsets .
((block-close . 0)
(brace-list-close . 0)
(brace-list-entry . 0)
(brace-list-intro . +)
(case-label . 0)
(class-close . 0)
(defun-block-intro . +)
(defun-close . 0)
(defun-open . 0)
(else-clause . 0)
(inclass . +)
(label . 0)
(statement . 0)
(statement-block-intro . +)
(statement-case-intro . +)
(statement-cont . +)
(substatement . +)
(topmost-intro . 0))))))
(c-label-minimum-indentation . 0)
(c-offsets-alist . (
(arglist-close . c-lineup-arglist-tabs-only)
(arglist-cont-nonempty .
(c-lineup-gcc-asm-reg c-lineup-arglist-tabs-only))
(arglist-intro . +)
(brace-list-intro . +)
(c . c-lineup-C-comments)
(case-label . 0)
(comment-intro . c-lineup-comment)
(cpp-define-intro . +)
(cpp-macro . -1000)
(cpp-macro-cont . +)
(defun-block-intro . +)
(else-clause . 0)
(func-decl-cont . +)
(inclass . +)
(inher-cont . c-lineup-multi-inher)
(knr-argdecl-intro . 0)
(label . -1000)
(statement . 0)
(statement-block-intro . +)
(statement-case-intro . +)
(statement-cont . +)
(substatement . +)
))
(indent-tabs-mode . t)
(show-trailing-whitespace . t)
))
)
27 changes: 27 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: ''
assignees: ''

---

**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behavior:

**Expected behavior**
A clear and concise description of what you expected to happen.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**Desktop (please complete the following information):**
- OS: [e.g. Debian]
- Version [e.g. 12]

**Additional context**
Add any other context about the problem here.
16 changes: 0 additions & 16 deletions .github/ISSUE_TEMPLATE/issue-report.md

This file was deleted.

126 changes: 126 additions & 0 deletions .github/workflows/abicheck.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
#!/bin/bash
# ABI compatibility check script for libfuse

set -e

show_help() {
cat << EOF
Usage: $0 [OPTIONS]

Check ABI compatibility between two versions of libfuse.

OPTIONS:
--prev-tag <tag> Previous release tag/hash to compare against
(default: auto-detect latest release tag)

--current-dir <path> Path to current version checkout
(default: create temporary checkout from current directory)

--previous-dir <path> Path to previous version checkout
(default: create temporary checkout at --prev-tag)

-h, --help Show this help message and exit

EXAMPLES:
# Auto-detect previous release and create temporary checkouts
$0

# Compare against a specific tag
$0 --prev-tag fuse-3.16.2

# Use existing checkout directories (useful in CI)
$0 --current-dir ./current --previous-dir ./previous

NOTES:
- If both --current-dir and --previous-dir are provided, the script will use
those directories directly without creating temporary checkouts.

- If only --prev-tag is provided (or auto-detected), the script will create
temporary checkouts in /tmp for both versions.

EOF
}

PREV_TAG=""
CURRENT_DIR=""
PREVIOUS_DIR=""
WORK_DIR="/tmp/libfuse-abicheck-$$"

# Parse arguments
while [[ $# -gt 0 ]]; do
case $1 in
-h|--help)
show_help
exit 0
;;
--prev-tag)
PREV_TAG="$2"
shift 2
;;
--current-dir)
CURRENT_DIR="$2"
shift 2
;;
--previous-dir)
PREVIOUS_DIR="$2"
shift 2
;;
*)
# Support old positional argument format
PREV_TAG="$1"
shift
;;
esac
done

# If directories are provided, use them; otherwise create our own
if [ -n "$CURRENT_DIR" ] && [ -n "$PREVIOUS_DIR" ]; then
# Use provided directories - convert to absolute paths
CURRENT_PATH="$(cd "$CURRENT_DIR" && pwd)"
PREVIOUS_PATH="$(cd "$PREVIOUS_DIR" && pwd)"
echo "Using provided directories:"
echo " Current: $CURRENT_PATH"
echo " Previous: $PREVIOUS_PATH"
CLEANUP_WORK_DIR=false
else
# Auto-detect previous release tag if not provided
if [ -z "$PREV_TAG" ]; then
PREV_TAG=$(.github/workflows/find_previous_release_tag.sh)
fi

echo "Previous release: $PREV_TAG"

# Create working directory
mkdir -p "$WORK_DIR"
trap "rm -rf $WORK_DIR" EXIT
CLEANUP_WORK_DIR=true

# Checkout current version
cp -r . "$WORK_DIR/current"

# Checkout previous version
git clone . "$WORK_DIR/previous"
(cd "$WORK_DIR/previous" && git checkout "$PREV_TAG")

CURRENT_PATH="$WORK_DIR/current"
PREVIOUS_PATH="$WORK_DIR/previous"
fi

# Build current version
cd "$CURRENT_PATH"
meson setup build --buildtype=debug
meson compile -C build

# Build previous version
cd "$PREVIOUS_PATH"
meson setup build --buildtype=debug
meson compile -C build

# Run abidiff
abidiff \
--no-added-syms \
--suppressions "$CURRENT_PATH/.github/workflows/abidiff_suppressions.abignore" \
--headers-dir1 "$PREVIOUS_PATH/include/" \
--headers-dir2 "$CURRENT_PATH/include/" \
"$PREVIOUS_PATH/build/lib/libfuse3.so" \
"$CURRENT_PATH/build/lib/libfuse3.so"
31 changes: 8 additions & 23 deletions .github/workflows/abicheck.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,40 +26,25 @@ jobs:
if: runner.os == 'Linux'
run: |
sudo apt-get update
sudo apt-get -y install abigail-tools clang gcc
sudo apt-get -y install abigail-tools clang gcc liburing-dev libnuma-dev

- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
with:
path: current

- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
with:
path: previous
ref: ${{ github.event.pull_request.base.ref }}

- uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0
- uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
with:
python-version: '3.12'

- name: Build current
working-directory: current
- name: Install Python dependencies
run: |
pip install -r requirements.txt
meson setup build --buildtype=debug
meson compile -C build
pip install -r current/requirements.txt

- name: Build previous
working-directory: previous
- name: Run ABI check
run: |
echo "Commit-id before PR: $(git show HEAD)"
pip install -r requirements.txt
meson setup build --buildtype=debug
meson compile -C build

- name: Run abidiff
run: abidiff
--no-added-syms
--headers-dir1 previous/include/
--headers-dir2 current/include/
previous/build/lib/libfused.so
current/build/lib/libfused.so
current/.github/workflows/abicheck.sh --current-dir current --previous-dir previous
59 changes: 59 additions & 0 deletions .github/workflows/abicheck_prev_release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
---
name: 'libfuse ABI check against previous major release'

on:
push:
branches:
- master
- 'fuse-[0-9]+.[0-9]+*' # This will match branches like 3.17, 3.18, 4.0, etc.
pull_request:
branches:
- master
- 'fuse-[0-9]+.[0-9]+*'
permissions:
contents: read

jobs:
abi:
runs-on: '${{ matrix.os }}'
strategy:
matrix:
os:
- ubuntu-latest

steps:
- name: Install dependencies (Ubuntu)
if: runner.os == 'Linux'
run: |
sudo apt-get update
sudo apt-get -y install abigail-tools clang gcc liburing-dev libnuma-dev

- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
with:
path: current
fetch-depth: 0 # Fetch all history and tags

- name: Determine previous major release tag
id: prev_release
run: |
cd current
PREV_TAG=$(.github/workflows/find_previous_release_tag.sh)
echo "prev_tag=$PREV_TAG" >> $GITHUB_OUTPUT

- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
with:
path: previous
ref: ${{ steps.prev_release.outputs.prev_tag }}

- uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
with:
python-version: '3.12'

- name: Install Python dependencies
run: |
pip install -r current/requirements.txt

- name: Run ABI check
run: |
echo "Previous release tag: ${{ steps.prev_release.outputs.prev_tag }}"
current/.github/workflows/abicheck.sh --current-dir current --previous-dir previous
Loading
Loading