OpenAFS Master Repository branch, master, updated. openafs-devel-1_9_2-408-g1a0f62d
Gerrit Code Review
gerrit@openafs.org
Thu, 8 Jan 2026 12:15:27 -0500
The following commit has been merged in the master branch:
commit 1a0f62d8d7b62b78392fda1c29ccccff87379efc
Author: Andrew Deason <adeason@sinenomine.net>
Date: Wed Dec 3 18:21:43 2025 -0600
afsd: Support fuse3
Currently, we detect the 'fuse' pkg-config package to build afsd.fuse,
which looks for fuse version 2. Fuse version 3 lives under the 'fuse3'
package name instead, so fuse2 and fuse3 are co-installable.
Fuse 3 has been around for quite a while (released in 2016), so we
should support building against it. To do so, look for the 'fuse3'
package, falling back to 'fuse' if we can't find 'fuse3'.
Also make various changes to afsd_fuse.c so we can build against fuse3:
- Define FUSE_USE_VERSION to 31, to indicate we support the API from
version 3.1
- Accept the new argument 'cfg' in fuafsd_init(). We can ignore the
value of the arg for now, but in the future we may want to specify
some values (for example, we can set 'nullpath_ok' to indicate that we
don't need the full path for some operations, which lets fuse run
faster).
- Accept the new argument 'fi' in fuafsd_getattr(), fuafsd_chmod(), and
fuafsd_truncate(). We don't use any of the info in this arg for now;
we just use the given path instead.
- Accept new argument 'flags' in fuafsd_readdir(). We can just ignore
the value; we always call filler() without providing any extra stat
info.
- The 'fuse_fill_dir_t' callback function type has gained a new argument
'flags' (of type 'enum fuse_fill_dir_flags'), where we can specify
FUSE_FILL_DIR_PLUS to indicate we have provided additional stat info.
Pass 0 for the flags to indicate we haven't provided any extra info.
- Accept new argument 'flags' in fuafsd_rename(), which can be used to
indicate that the caller wants to not clobber the destination
(RENAME_NOREPLACE), or atomically exchange the destination
(RENAME_EXCHANGE). We don't support either of these, so return an
error if any non-zero flags are set.
Change-Id: Icd66f2250a4a7f0d8767eca7da19b7fd5ae3809c
Reviewed-on: https://gerrit.openafs.org/16639
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
src/afsd/afsd_fuse.c | 74 ++++++++++++++++++++++++++++++++++++++++++++++++----
src/cf/fuse.m4 | 11 +++++---
2 files changed, 76 insertions(+), 9 deletions(-)
--
OpenAFS Master Repository