-
Notifications
You must be signed in to change notification settings - Fork 304
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
DAOS-15136 client: Switch to using libfused #14077
base: master
Are you sure you want to change the base?
Changes from 11 commits
df7aadc
7bf9fb8
20bf3b6
1cff4e9
cb44999
28e8479
1a37b21
ef30117
22ac591
926f43a
2a8ff90
e5fbffa
e991acb
18b1e5e
a397c1e
dc5d340
85041ed
0ed4c7c
4b266cf
3f3a397
515b136
7585023
45a2e77
c1082d5
7ba97a2
6fd013c
53e307a
c3c65a9
3a98c97
f0002f9
fad1a2d
5752261
02e8a79
3487bc6
0f3267e
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,10 @@ | ||
daos (2.5.101-4) unstable; urgency=medium | ||
daos (2.5.101-5) unstable; urgency=medium | ||
[ Jeff Olivier ] | ||
* Switch from libfuse3 to libfused | ||
|
||
-- Jeff Olivier <[email protected]> Thu, 25 Apr 2024 10:30:00 +0000 | ||
|
||
daos (2.5.101-5) unstable; urgency=medium | ||
[ Fan Yong ] | ||
* NOOP change to keep in parity with RPM version | ||
|
||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
# Copyright 2016-2023 Intel Corporation | ||
# Copyright 2016-2024 Intel Corporation | ||
# | ||
# Permission is hereby granted, free of charge, to any person obtaining a copy | ||
# of this software and associated documentation files (the "Software"), to deal | ||
|
@@ -308,6 +308,18 @@ def define_components(reqs): | |
required_progs=['libtoolize', 'ninja', 'meson'], | ||
out_of_src_build=True) | ||
|
||
reqs.define('fused', libs=['fused'], defines=['FUSE_USE_VERSION=35'], | ||
retriever=GitRepoRetriever('https://github.com/daos-stack/fused.git'), | ||
commands=[['find', '../fused', '-type', 'f', '-name', '*', '-exec', 'sed', '-i', | ||
's/fuse3/fused/g', '{}', ';'], | ||
['meson', 'setup', '--prefix=$FUSED_PREFIX', '-Ddisable-mtab=True', | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. See comments in daos-stack/fused#1 about |
||
'-Dudevrulesdir=$FUSED_PREFIX/udev', '-Dutils=False', | ||
'--default-library', 'shared', '../fused'], | ||
['ninja', 'install']], | ||
headers=['fused/fuse.h'], | ||
required_progs=['libtoolize', 'ninja', 'meson'], | ||
out_of_src_build=True) | ||
|
||
# Tell SPDK which CPU to optimize for, by default this is native which works well unless you | ||
# are relocating binaries across systems, for example in CI under GitHub actions etc. There | ||
# isn't a minimum value needed here, but getting this wrong will cause daos server to exit | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -140,7 +140,7 @@ def check_ioctl_def(context, ctype): | |
context.Message(f'Checking if fuse ioctl is type {ctype} ') | ||
|
||
# pylint: disable-next=consider-using-f-string | ||
src = """#include <fuse3/fuse_lowlevel.h> | ||
src = """#include <fused/fuse_lowlevel.h> | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This is for working with various fuse versions, we should replace this with a simple version check. |
||
|
||
extern void | ||
my_ioctl (fuse_req_t req, fuse_ino_t ino, %s cmd, | ||
|
@@ -175,22 +175,6 @@ def configure_fuse(cenv): | |
check.Finish() | ||
|
||
|
||
def find_static_fuse(cenv): | ||
"""Find and copy static fuse library""" | ||
|
||
fuse_prefix = '/usr' | ||
if os.path.exists(cenv.subst('$FUSE_PREFIX')): | ||
fuse_prefix = cenv.subst('$FUSE_PREFIX') | ||
|
||
for path in ['lib64', 'lib/x86_64-linux-gnu', 'lib']: | ||
fuselib = os.path.join(fuse_prefix, path, "libfuse3.a") | ||
if os.path.exists(fuselib): | ||
return [File(fuselib)] | ||
|
||
print("Could not find libfuse3.a") | ||
return [] | ||
|
||
|
||
def scons(): | ||
"""Scons function""" | ||
|
||
|
@@ -229,14 +213,8 @@ def scons(): | |
cenv.AppendUnique(LIBS=['dfs', 'duns']) | ||
|
||
cenv.require('hwloc') | ||
if cenv.get('STATIC_FUSE'): | ||
cenv.require('fuse', headers_only=True) | ||
static_fuse = find_static_fuse(cenv) | ||
extra_libs = ['dl'] | ||
else: | ||
cenv.require('fuse') | ||
static_fuse = [] | ||
extra_libs = ['dl'] | ||
cenv.require('fused') | ||
extra_libs = ['dl'] | ||
|
||
configure_fuse(cenv) | ||
|
||
|
@@ -246,7 +224,7 @@ def scons(): | |
for src in OPS_SRC: | ||
dfuse_obj += cenv.Object(os.path.join('ops', f'{src}.c')) | ||
cenv.AppendUnique(LIBS=['gurt'] + extra_libs) | ||
dfuse_bin = cenv.d_program('dfuse/dfuse', common + dfuse_obj + static_fuse) | ||
dfuse_bin = cenv.d_program('dfuse/dfuse', common + dfuse_obj) | ||
|
||
Default(dfuse_bin) | ||
|
||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -3,7 +3,7 @@ component=daos | |
|
||
[commit_versions] | ||
ARGOBOTS = v1.1 | ||
FUSE = fuse-3.16.2 | ||
FUSED = master | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Would it be better to pin this for build reproducibiliy? |
||
PMDK = 2.0.0 | ||
ISAL = v2.30.0 | ||
ISAL_CRYPTO = v2.23.0 | ||
|
@@ -17,4 +17,3 @@ UCX=v1.14.1 | |
spdk=https://github.com/spdk/spdk/commit/b0aba3fcd5aceceea530a702922153bc75664978.diff,https://github.com/spdk/spdk/commit/445a4c808badbad3942696ecf16fa60e8129a747.diff | ||
ofi=https://github.com/ofiwg/libfabric/commit/d827c6484cc5bf67dfbe395890e258860c3f0979.diff | ||
mercury=https://raw.githubusercontent.com/daos-stack/mercury/857f1d5d2ca72d4c1b8d7be5e7fd26d6292b495f/na_ucx_am_send_retry.patch,https://github.com/mercury-hpc/mercury/commit/b8c26fd86281f3b0883c31bd2d0cb467a12b860d.diff,https://github.com/mercury-hpc/mercury/commit/a35589c3d1134d9c80640e78247e210162ac4a3c.diff,https://github.com/mercury-hpc/mercury/commit/fa4abbb6273d975b2ef17ac4e561fd4255d384db.diff | ||
fuse=https://github.com/libfuse/libfuse/commit/c9905341ea34ff9acbc11b3c53ba8bcea35eeed8.diff |
Original file line number | Diff line number | Diff line change | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
@@ -15,7 +15,7 @@ | |||||||||||||||||
|
||||||||||||||||||
Name: daos | ||||||||||||||||||
Version: 2.5.101 | ||||||||||||||||||
Release: 4%{?relval}%{?dist} | ||||||||||||||||||
Release: 5%{?relval}%{?dist} | ||||||||||||||||||
Summary: DAOS Storage Engine | ||||||||||||||||||
|
||||||||||||||||||
License: BSD-2-Clause-Patent | ||||||||||||||||||
|
@@ -51,9 +51,9 @@ BuildRequires: boost-devel | |||||||||||||||||
%endif | ||||||||||||||||||
BuildRequires: libpmemobj-devel >= 2.0.0 | ||||||||||||||||||
%if (0%{?rhel} >= 8) | ||||||||||||||||||
BuildRequires: fuse3-devel >= 3 | ||||||||||||||||||
BuildRequires: fused-devel >= 1 | ||||||||||||||||||
%else | ||||||||||||||||||
BuildRequires: fuse3-devel >= 3.4.2 | ||||||||||||||||||
BuildRequires: fused-devel >= 1 | ||||||||||||||||||
%endif | ||||||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The
Suggested change
(Sorry, GH is really mangling this suggestion due to the unchanged lines in it.) |
||||||||||||||||||
%if (0%{?suse_version} >= 1500) | ||||||||||||||||||
BuildRequires: go-race | ||||||||||||||||||
|
@@ -175,7 +175,7 @@ Requires: mercury >= %{mercury_version} | |||||||||||||||||
Requires: libfabric >= %{libfabric_version} | ||||||||||||||||||
%if (0%{?suse_version} >= 1500) | ||||||||||||||||||
Requires: libfabric1 >= %{libfabric_version} | ||||||||||||||||||
Requires: libfuse3-3 >= 3.4.2 | ||||||||||||||||||
Requires: fused >= 1 | ||||||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Not at all necessary.
Suggested change
|
||||||||||||||||||
%endif | ||||||||||||||||||
Requires: /usr/bin/fusermount3 | ||||||||||||||||||
%{?systemd_requires} | ||||||||||||||||||
|
@@ -223,11 +223,7 @@ Requires: libcapstone-devel | |||||||||||||||||
Requires: Lmod | ||||||||||||||||||
Requires: capstone-devel | ||||||||||||||||||
%endif | ||||||||||||||||||
%if (0%{?rhel} >= 8) | ||||||||||||||||||
Requires: fuse3-devel >= 3 | ||||||||||||||||||
%else | ||||||||||||||||||
Requires: fuse3-devel >= 3.4.2 | ||||||||||||||||||
%endif | ||||||||||||||||||
Requires: fused >= 1 | ||||||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Ditto, if this really should be a change from So either:
Suggested change
or
Suggested change
|
||||||||||||||||||
|
||||||||||||||||||
%description client-tests | ||||||||||||||||||
This is the package needed to run the DAOS test suite (client tests) | ||||||||||||||||||
|
@@ -587,6 +583,9 @@ getent passwd daos_agent >/dev/null || useradd -s /sbin/nologin -r -g daos_agent | |||||||||||||||||
# No files in a shim package | ||||||||||||||||||
|
||||||||||||||||||
%changelog | ||||||||||||||||||
* Thu Apr 25 2024 Jeff Olivier <[email protected]> 2.5.101-5 | ||||||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This datestamp could use an update. |
||||||||||||||||||
- Switch libfuse3 to libfused | ||||||||||||||||||
|
||||||||||||||||||
* Fri Apr 05 2024 Fan Yong <[email protected]> 2.5.101-4 | ||||||||||||||||||
- Catastrophic Recovery | ||||||||||||||||||
|
||||||||||||||||||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Worth bringing this timestamp up-to-date.