Skip to content

Commit 698d6b4

Browse files
authored
Merge pull request #10 from daos-stack/jvolivie/update_fused
DAOS-623 build: Merge tag 'fuse-3.17.4'
2 parents ebb74da + 4279d17 commit 698d6b4

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

54 files changed

+9469
-639
lines changed

.codespellrc

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,6 @@ skip = .git,*.pdf,*.svg,AUTHORS
88
# - alse: used in regex
99
# - siz: wanted short
1010
# - fiter: variable
11-
ignore-words-list = alse,siz,fiter
11+
# - re-used: intentional hyphenation
12+
# - re-using: intentional hyphenation
13+
ignore-words-list = alse,siz,fiter,re-used,re-using

.github/workflows/abicheck.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,11 @@ on:
55
push:
66
branches:
77
- master
8+
- 'fuse-[0-9]+.[0-9]+*' # This will match branches like 3.17, 3.18, 4.0, etc.
89
pull_request:
910
branches:
1011
- master
11-
12+
- 'fuse-[0-9]+.[0-9]+*'
1213
permissions:
1314
contents: read
1415

@@ -56,7 +57,8 @@ jobs:
5657
meson compile -C build
5758
5859
- name: Run abidiff
59-
run: abidiff
60+
run: abidiff
61+
--no-added-syms
6062
--headers-dir1 previous/include/
6163
--headers-dir2 current/include/
6264
previous/build/lib/libfused.so

.github/workflows/checkpatch.yml

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
name: Checkpatch
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
pull_request:
8+
branches:
9+
- master
10+
permissions:
11+
contents: read
12+
13+
jobs:
14+
checkpatch:
15+
runs-on: ubuntu-latest
16+
steps:
17+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
18+
with:
19+
fetch-depth: 0
20+
- name: Install dependencies
21+
run: |
22+
sudo apt-get update
23+
sudo apt-get install -y perl
24+
- name: Run checkpatch.pl
25+
run: |
26+
git fetch origin ${{ github.base_ref }}
27+
base_commit=$(git merge-base origin/${{ github.base_ref }} HEAD)
28+
echo "Base commit: $base_commit"
29+
echo "Running checkpatch.pl on all commits in the PR:"
30+
git rev-list --reverse $base_commit..HEAD | while read commit; do
31+
subject=$(git log -1 --format=%s $commit)
32+
echo "Checking commit: $commit - $subject"
33+
if ! ./checkpatch.pl --no-tree --ignore MAINTAINERS,SPDX_LICENSE_TAG,COMMIT_MESSAGE,FILE_PATH_CHANGES,EMAIL_SUBJECT,AVOID_EXTERNS,GIT_COMMIT_ID,ENOSYS_SYSCALL -g $commit; then
34+
echo "checkpatch.pl found issues in commit $commit - $subject"
35+
exit 1
36+
fi
37+
done

.github/workflows/codeql.yml

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,13 @@ name: "CodeQL Advanced"
1313

1414
on:
1515
push:
16-
branches: [ "master" ]
16+
branches:
17+
- master
18+
- 'fuse-[0-9]+.[0-9]+*' # This will match branches like 3.17, 3.18, 4.0, etc.
1719
pull_request:
18-
branches: [ "master" ]
20+
branches:
21+
- master
22+
- 'fuse-[0-9]+.[0-9]+*'
1923

2024
jobs:
2125
analyze:
@@ -49,7 +53,7 @@ jobs:
4953

5054
# Initializes the CodeQL tools for scanning.
5155
- name: Initialize CodeQL
52-
uses: github/codeql-action/init@df409f7d9260372bd5f19e5b04e83cb3c43714ae # v3.27.9
56+
uses: github/codeql-action/init@9e8d0789d4a0fa9ceb6b1738f7e269594bdd67f0 # v3.28.9
5357
with:
5458
languages: ${{ matrix.language }}
5559
build-mode: ${{ matrix.build-mode }}
@@ -74,7 +78,7 @@ jobs:
7478
meson compile -C build
7579
7680
- name: Perform CodeQL Analysis
77-
uses: github/codeql-action/analyze@df409f7d9260372bd5f19e5b04e83cb3c43714ae # v3.27.9
81+
uses: github/codeql-action/analyze@9e8d0789d4a0fa9ceb6b1738f7e269594bdd67f0 # v3.28.9
7882

7983
with:
8084
category: "/language:${{matrix.language}}"

.github/workflows/codespell.yml

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,13 @@ name: Codespell
33

44
on:
55
push:
6-
branches: [master]
6+
branches:
7+
- master
8+
- 'fuse-[0-9]+.[0-9]+*' # This will match branches like 3.17, 3.18, 4.0, etc.
79
pull_request:
8-
branches: [master]
10+
branches:
11+
- master
12+
- 'fuse-[0-9]+.[0-9]+*'
913

1014
permissions:
1115
contents: read
@@ -20,3 +24,5 @@ jobs:
2024
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
2125
- name: Codespell
2226
uses: codespell-project/actions-codespell@406322ec52dd7b488e48c1c4b82e2a8b3a1bf630 # v2.1
27+
with:
28+
skip: checkpatch.pl

.github/workflows/iwyi-check.yml

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# check for uneeded header includes of modified files
2+
# False positives can be avoided with
3+
# #include "some_include.h" // IWYU pragma: keep
4+
5+
name: IWYU Check
6+
7+
on:
8+
pull_request:
9+
branches: [ main ]
10+
paths:
11+
- '**.cpp'
12+
- '**.hpp'
13+
- '**.c'
14+
- '**.h'
15+
16+
jobs:
17+
iwyu-check:
18+
name: Include What You Use Check
19+
runs-on: ubuntu-latest
20+
steps:
21+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
22+
with:
23+
fetch-depth: 0
24+
25+
- name: Install IWYU
26+
run: |
27+
sudo apt-get update
28+
sudo apt-get install -y iwyu
29+
30+
- name: Get changed files
31+
id: changed-files
32+
run: |
33+
git fetch origin ${{ github.base_ref }}
34+
base_commit=$(git merge-base FETCH_HEAD ${{ github.event.pull_request.head.sha }})
35+
changed_files=$(git diff --name-only $base_commit HEAD | grep -E '\.(cpp|hpp|c|h)$' || true)
36+
echo "files=$changed_files" >> $GITHUB_OUTPUT
37+
38+
- name: Run IWYU checks on changed files
39+
if: steps.changed-files.outputs.files != ''
40+
run: |
41+
echo "${{ steps.changed-files.outputs.files }}" | while read -r file; do
42+
if [ -f "$file" ]; then
43+
echo "Checking $file..."
44+
iwyu -Xiwyu --mapping_file=iwyu.imp "$file" 2>&1 || true
45+
fi
46+
done | tee iwyu_output.txt
47+
if grep -q "should add these lines:" iwyu_output.txt || \
48+
grep -q "should remove these lines:" iwyu_output.txt; then
49+
echo "IWYU checks failed. Please fix the includes in the affected files."
50+
exit 1
51+
fi

.github/workflows/pr-ci.yml

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,11 @@ on:
44
push:
55
branches:
66
- master
7+
- 'fuse-[0-9]+.[0-9]+*' # This will match branches like 3.17, 3.18, 4.0, etc.
78
pull_request:
89
branches:
910
- master
11+
- 'fuse-[0-9]+.[0-9]+*'
1012

1113
permissions:
1214
contents: read
@@ -24,7 +26,12 @@ jobs:
2426
steps:
2527
- name: Install dependencies (Ubuntu)
2628
if: runner.os == 'Linux'
27-
run: sudo apt-get update && sudo apt-get install -y clang doxygen gcc gcc-10 gcc-9 valgrind
29+
run: |
30+
sudo dpkg --add-architecture i386
31+
sudo apt-get update
32+
sudo apt-get install -y clang doxygen gcc gcc-10 gcc-9 valgrind \
33+
gcc-multilib g++-multilib libc6-dev-i386 \
34+
libpcap0.8-dev:i386 libudev-dev:i386 pkg-config:i386
2835
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
2936
- uses: actions/setup-python@v5
3037
with:

AUTHORS

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -231,3 +231,53 @@ Yuri Per <yuri@acronis.com>
231231
Zhansong Gao <zhsgao@hotmail.com>
232232
Zhiqiang Liu <liuzhiqiang26@huawei.com>
233233
zsugabubus <zsugabubus@users.noreply.github.com>
234+
235+
# New authors since fuse-3.16.2
236+
farlongsignal <141166749+farlongsignal@users.noreply.github.com>
237+
yangyun50 <149988609+yangyun50@users.noreply.github.com>
238+
bigbrotherwei <1965867461@qq.com>
239+
Caian Benedicto <2220062+Caian@users.noreply.github.com>
240+
desertwitch <24509509+desertwitch@users.noreply.github.com>
241+
SteveYang <40466358+SteveY4ng@users.noreply.github.com>
242+
FredyVia <942513309@qq.com>
243+
legezywzh <94814730+legezywzh@users.noreply.github.com>
244+
CismonX <admin@cismon.net>
245+
amitgeron <amit.geron@gmail.com>
246+
Bernd Schubert <bernd@bsbernd.com>
247+
Daniel Rosenberg <drosen@google.com>
248+
Horst Birthelmer <hbirthelmer@ddn.com>
249+
Joanne Koong <joannelkoong@gmail.com>
250+
Josef Bacik <josef@toxicpanda.com>
251+
Matthew <matthew@matthew-cash.com>
252+
gandalfs_cat <meow@kittcat.dev>
253+
MJ Harvey <mharvey@jumptrading.com>
254+
Nils <nils@nilsand.re>
255+
Norman Wilson <norman@teach.cs.toronto.edu>
256+
leipeng <peng@topling.cn>
257+
Vladimir Serbinenko <phcoder@gmail.com>
258+
George Hilliard <thirtythreeforty@gmail.com>
259+
Tyler Hall <tylerwhall@gmail.com>
260+
yangyun <yangyun50@huawei.com>
261+
Abhishek <abhi_45645@yahoo.com>
262+
263+
# New authors since fuse-3.17.0
264+
Luis Henriques <luis@igalia.com>
265+
Zegang <zegang.luo@qq.com>
266+
267+
# New authors since fuse-3.17.1-rc0
268+
Maksim Harbachou <maksim.harbachou@resilio.com>
269+
Vassili Tchersky <vt+git@vbcy.org>
270+
271+
# New authors since fuse-3.17.1-rc1
272+
jnr0006 <jacob.nick.riley@gmail.com>
273+
Vassili Tchersky <vt+git@vbc.su>
274+
275+
# New authors since fuse-3.17.1
276+
swj <1186093704@qq.com>
277+
Ben Dooks <ben.dooks@codethink.co.uk>
278+
279+
# New authors since fuse-3.17.2
280+
Long Li <leo.lilong@huawei.com>
281+
282+
# New authors since fuse-3.17.3
283+
Georgi Valkov <gvalkov@gmail.com>

ChangeLog.rst

Lines changed: 90 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,98 @@
1-
libfuse 3.17 (unreleased)
2-
========================
1+
libfuse 3.17.4 (2025-08-19)
2+
===========================
3+
- Try to detect mount-utils by checking for /run/mount/utab
4+
and don't try to update mtab if it does not exist
5+
- Fix a build warning when HAVE_BACKTRACE is undefined
6+
- fuse_loop_mt.c: fix close-on-exec flag on clone fd
7+
- Remove struct size assertions from fuse_common.h
8+
9+
libfuse 3.17.3 (2025-07-16)
10+
===========================
11+
* more conn->want / conn->want_ext conversion fixes
12+
* Fix feature detection for close_range
13+
* Avoid double unmount on FUSE_DESTROY
314

15+
libfuse 3.17.2 (2025-04-23)
16+
===========================
17+
* Fixed uninitized bufsize value (compilation warning and real
18+
issue when HAVE_SPLICE was not defined)
19+
* Fixed initialization races related to buffer realocation when
20+
large buf sizes are used (/proc/sys/fs/fuse/max_pages_limit)
21+
* Fix build with kernel < 5.9
22+
* Fix static_assert build failure with C++ version < 11
23+
* Compilation fix (remove second fuse_main_real_versioned declaration)
24+
* Another conn.want flag conversion fix for high-level applications
25+
* Check if pthread_setname_np() exists before use it
26+
* fix example/memfs_ll rename deadlock error
27+
* signal handlers: Store fuse_session unconditionally and restore
28+
previous behavior that with multiple sessions the last session
29+
was used for the signal exist handler
30+
31+
libfuse 3.17.1 (2025-03-24)
32+
===========================
33+
* fuse: Fix want conn.want flag conversion
34+
* Prevent re-usage of stdio FDs for fusermount
35+
* PanFS added to fusermount whitelist
36+
37+
libfuse 3.17.1-rc1 (2025-02-18)
38+
===============================
39+
* several BSD fixes
40+
* x86 (32bit) build fixes
41+
* nested declarations moved out of the inlined functions to avoid
42+
build warnings
43+
* signify public key added for future 3.18
44+
45+
libfuse 3.17.1-rc0 (2025-02.10)
46+
===============================
47+
48+
* Fix libfuse build with FUSE_USE_VERSION 30
49+
* Fix build of memfs_ll without manual meson reconfigure
50+
* Fix junk readdirplus results when filesystem not filling stat info
51+
* Fix conn.want_ext truncation to 32bit
52+
* Fix some build warnings with -Og
53+
* Fix fuse_main_real symbols
54+
* Several changes related to functions/symbols that added in
55+
the libfuse version in 3.17
56+
* Add thread names to libfuse threads
57+
* With auto-umounts the FUSE_COMMFD2 (parent process fd is
58+
exported to be able to silence leak checkers
59+
60+
61+
libfuse 3.17 (2025-01-01, not officially releaesed)
62+
==================================================
63+
64+
* 3.11 and 3.14.2 introduced ABI incompatibilities, the ABI is restored
65+
to 3.10, .so version was increased since there were releases with
66+
the incompatible ABI
67+
68+
* The libfuse version a program was compiled against is now encoded into
69+
that program, using inlined functions in fuse_lowlevel.h and fuse.h
470
* Allows to handle fatal signals and to print a backtrace.
5-
New public function: fuse_set_fail_signal_handlers()
71+
New API function: fuse_set_fail_signal_handlers()
72+
673
* Allows fuse_log() messages to be send to syslog instead of stderr
7-
New public functions: fuse_log_enable_syslog() and fuse_log_close_syslog()
74+
New API functions: fuse_log_enable_syslog() and fuse_log_close_syslog()
75+
876
* Handle buffer misalignment for FUSE_WRITE
977

78+
* Added support for filesystem passthrough read/write of files when
79+
FUSE_PASSTHROUGH capability is enabled
80+
New API functions: fuse_passthrough_open() and fuse_passthrough_close(),
81+
also see example/passthrough_hp.cc
82+
83+
* Added fmask and dmask options to high-level API
84+
- dmask: umask applied to directories
85+
- fmask: umask applied to non-directories
86+
87+
* Added FUSE_FILL_DIR_DEFAULTS enum to support C++ programs using
88+
fuse_fill_dir_t function
89+
90+
* Added support for FUSE_CAP_HANDLE_KILLPRIV_V2
91+
92+
Fixes:
93+
* Fixed compilation failure on FreeBSD (mount_bsd.c now points to correct
94+
header)
95+
1096
libfuse 3.16.2 (2023-10-10)
1197
===========================
1298

0 commit comments

Comments
 (0)