Skip to content

DAOS-19915 build: update fused to 1.2.0 (libfuse 3.18.3) - #19417

Merged
mchaarawi merged 3 commits into
masterfrom
mschaara/fused-3.18.3
Nov 5, 2026
Merged

mchaarawi merged 3 commits into
masterfrom
mschaara/fused-3.18.3

Conversation

@mchaarawi

Copy link
Copy Markdown
Contributor

Point fused at the daos-stack/fused mschaara/fuse-3.18.3 branch for testing: upstream libfuse 3.18.3 renamed to fused, versioned 1.2.0, with the fusermount3 launch kept as fork+exec instead of posix_spawn, which does not work under valgrind. Bump the fused-devel package version so CI builds fused from source instead of installing 1.0.0.

Features: dfuse pil4dfs

Steps for the author:

  • Commit message follows the guidelines.
  • Appropriate Features or Test-tag pragmas were used.
  • Appropriate Functional Test Stages were run.
  • At least two positive code reviews including at least one code owner from each category referenced in the PR.
  • Testing is complete. If necessary, forced-landing label added and a reason added in a comment.

After all prior steps are complete:

  • Gatekeeper requested (daos-gatekeeper added as a reviewer).

Point fused at the daos-stack/fused mschaara/fuse-3.18.3 branch for
testing: upstream libfuse 3.18.3 renamed to fused, versioned 1.2.0,
with the fusermount3 launch kept as fork+exec instead of posix_spawn,
which does not work under valgrind. Bump the fused-devel package
version so CI builds fused from source instead of installing 1.0.0.

Features: dfuse pil4dfs
Signed-off-by: Mohamad Chaarawi <mohamad.chaarawi@hpe.com>
@github-actions

github-actions Bot commented Nov 3, 2026 •

Copy link
Copy Markdown

Ticket title is 'update fused to latest libfuse release'
Status is 'Open'
https://daosio.atlassian.net/browse/DAOS-19915

@github-actions github-actions Bot added the priority Ticket has high priority (automatically managed) label Nov 3, 2026
libfuse 3.18 sets cpp_std=c++20, which gcc 7 on Leap 15 rejects when
meson enables C++ for the examples. DAOS only needs the library.

Features: dfuse pil4dfs
Signed-off-by: Mohamad Chaarawi <mohamad.chaarawi@hpe.com>
@daosbuild3

Copy link
Copy Markdown
Collaborator

@ifnotcode

Copy link
Copy Markdown

Hi @mchaarawi, thanks for picking up the libfuse 3.18 update. A heads-up on an overlap with #19405.
#19405 bumps fused to 1.1.0 (libfuse 3.17.4) to get FUSE_CAP_ALLOW_IDMAP for #19404. That PR adds a dfuse --allow-idmap option, which is needed for idmapped mounts, e.g. Kubernetes pods with hostUsers: false on Linux >= 6.12.

On 3.18.3 the fuse_kernel.h sync (d393ffa8) is already included, so the only missing piece is a backport of libfuse commit 1f4c0608. That commit is not in any upstream release yet.

Would you be open to adding that one patch, either to the mschaara/fuse-3.18.3 fused branch or to deps/patches/fused in this PR? The capability is only sent to the kernel when a filesystem requests it, so behaviour without --allow-idmap is unchanged. If you agree, I'll close #19405 in favour of this PR.

One packaging detail: dfuse guards the option with #ifdef, so a fused-devel 1.2.0 build without the patch would silently drop --allow-idmap. The BuildRequires should point at a fused-devel release that carries the patch.

Test results for the 3.17.4 variant are in #19405: the NLT posix suite with --allow-idmap on every dfuse, and ftest with and without the option. I'm happy to rerun them against 1.2.0.

@mchaarawi

mchaarawi commented Nov 3, 2026 •

Copy link
Copy Markdown
Contributor Author

Hi @mchaarawi, thanks for picking up the libfuse 3.18 update. A heads-up on an overlap with [#19405]. [#19405] bumps fused to 1.1.0 (libfuse 3.17.4) to get FUSE_CAP_ALLOW_IDMAP for [#19404]. That PR adds a dfuse --allow-idmap option, which is needed for idmapped mounts, e.g. Kubernetes pods with hostUsers: false on Linux >= 6.12.

On 3.18.3 the fuse_kernel.h sync (d393ffa8) is already included, so the only missing piece is a backport of libfuse commit 1f4c0608. That commit is not in any upstream release yet.

Would you be open to adding that one patch, either to the mschaara/fuse-3.18.3 fused branch or to deps/patches/fused in this PR? The capability is only sent to the kernel when a filesystem requests it, so behaviour without --allow-idmap is unchanged. If you agree, I'll close [#19405] in favour of this PR.

One packaging detail: dfuse guards the option with #ifdef, so a fused-devel 1.2.0 build without the patch would silently drop --allow-idmap. The BuildRequires should point at a fused-devel release that carries the patch.

Test results for the 3.17.4 variant are in [#19405]: the NLT posix suite with --allow-idmap on every dfuse, and ftest with and without the option. I'm happy to rerun them against 1.2.0.

thank you for you PRs and the heads up. i would like to keep this upgrade independent of your work and your feature request.
what you pushed looks reasonable but requires more review and testing on our side; but first to detrermine a targeted release (3.0 or 3.2). i will need to discuss your feature request with the TSC and our test team to see what is feasible.

@daosbuild3

Copy link
Copy Markdown
Collaborator

Test stage Functional Hardware Medium MD on SSD completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net//job/daos-stack/job/daos/view/change-requests/job/PR-19417/3/execution/node/1309/log

Features: dfuse pil4dfs
Signed-off-by: Mohamad Chaarawi <mohamad.chaarawi@hpe.com>
@mchaarawi mchaarawi changed the title DAOS-623 build: update fused to 1.2.0 (libfuse 3.18.3) DAOS-19915 build: update fused to 1.2.0 (libfuse 3.18.3) Nov 4, 2026
@github-actions github-actions Bot removed the priority Ticket has high priority (automatically managed) label Nov 4, 2026
@mchaarawi
mchaarawi marked this pull request as ready for review November 4, 2026 18:22
@mchaarawi
mchaarawi requested review from a team as code owners November 4, 2026 18:22
@mchaarawi
mchaarawi requested review from daltonbohning, knard38 and soumagne and removed request for a team November 4, 2026 18:22

@daltonbohning daltonbohning left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Where is this package actually used? It seems we only build fused-devel and at least for 2.8 we don't ship it?
https://packages.daos.io/v2.8.1/EL9/packages/x86_64/

@mchaarawi

Copy link
Copy Markdown
Contributor Author

Where is this package actually used? It seems we only build fused-devel and at least for 2.8 we don't ship it? https://packages.daos.io/v2.8.1/EL9/packages/x86_64/

we do not ship the fused RPM. it is statically built

@daosbuild3

Copy link
Copy Markdown
Collaborator

Test stage Functional Hardware Medium MD on SSD completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net//job/daos-stack/job/daos/view/change-requests/job/PR-19417/4/execution/node/1814/log

@mchaarawi
mchaarawi merged commit d74c5af into master Nov 5, 2026
53 of 58 checks passed
@mchaarawi
mchaarawi deleted the mschaara/fused-3.18.3 branch November 5, 2026 16:14
@daltonbohning daltonbohning added the release-3.0.0 Targeted for release 3.0.0 label Nov 5, 2026
jamesanunez pushed a commit that referenced this pull request Nov 9, 2026
update daos to build fused v1.2.0 (which is libfuse 3.18.3 + the relative patches to rename to fused and reversal to fork-exec instead of posix spawn). 

Signed-off-by: Mohamad Chaarawi <mohamad.chaarawi@hpe.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release-3.0.0 Targeted for release 3.0.0

Development

Successfully merging this pull request may close these issues.

6 participants