From: "Darrick J. Wong" <djwong@kernel.org>
To: Bernd Schubert <bernd@bsbernd.com>
Cc: bschubert@ddn.com, joannelkoong@gmail.com,
linux-fsdevel@vger.kernel.org, miklos@szeredi.hu, neal@gompa.dev
Subject: Re: [GIT PULL v2] libfuse: run fuse servers as a contained service
Date: Tue, 17 Mar 2026 17:15:12 -0700 [thread overview]
Message-ID: <20260318001512.GT6069@frogsfrogsfrogs> (raw)
In-Reply-To: <70550759-eae2-482d-a598-164d10930220@bsbernd.com>
On Wed, Mar 18, 2026 at 12:08:37AM +0100, Bernd Schubert wrote:
>
>
> On 3/17/26 00:50, Darrick J. Wong wrote:
> > Hi Bernd,
> >
> > I hope you're feeling better!
>
> Thank you much better!
>
> >
> > Please have a look at this branch with changes for libfuse. This second
> > PR contains a bunch of new things:
> >
> > * Cleaned up error code handling and logging
> > * Examples of systemd-enabled high and low-level fuse servers
> > * Most of the checkpatch complaints addressed
> > * fuservicemount3 can now be a setuid program to allow unprivileged
> > userspace to fire up a contained filesystem driver. This could be
> > opening Pandora's box...
> >
> > As usual, I did a test-merge with the main upstream branch as of a few
> > minutes ago, and didn't see any conflicts. Please let me know if you
> > encounter any problems.
>
> I only found a minute to pull and push to my github repo to update the PR.
> BSD still fails
>
> 2026-03-17T23:01:17.9810147Z FAILED: [code=1] example/hello_ll.p/single_file.c.o
> 2026-03-17T23:01:17.9813484Z cc -Iexample/hello_ll.p -Iexample -I../example -Iinclude -I../include -Ilib -I../lib -I. -I.. -fdiagnostics-color=always -Wall -Winvalid-pch -Wextra -std=gnu11 -O2 -g -D_REENTRANT -DHAVE_LIBFUSE_PRIVATE_CONFIG_H -Wno-sign-compare -D_FILE_OFFSET_BITS=64 -Wstrict-prototypes -Wmissing-declarations -Wwrite-strings -fno-strict-aliasing -pthread -MD -MQ example/hello_ll.p/single_file.c.o -MF example/hello_ll.p/single_file.c.o.d -o example/hello_ll.p/single_file.c.o -c ../example/single_file.c
> 2026-03-17T23:01:17.9817014Z ../example/single_file.c:46:10: error: use of undeclared identifier 'PTHREAD_MUTEX_INITIALIZER'
> 2026-03-17T23:01:17.9817870Z 46 | .lock = PTHREAD_MUTEX_INITIALIZER,
> 2026-03-17T23:01:17.9818369Z | ^
> 2026-03-17T23:01:17.9819309Z ../example/single_file.c:198:51: warning: unused parameter 'ino' [-Wunused-parameter]
> 2026-03-17T23:01:17.9820276Z 198 | void single_file_statx(fuse_req_t req, fuse_ino_t ino, int flags, int mask,
> 2026-03-17T23:01:17.9821012Z | ^
> 2026-03-17T23:01:17.9821785Z ../example/single_file.c:198:60: warning: unused parameter 'flags' [-Wunused-parameter]
> 2026-03-17T23:01:17.9823239Z 198 | void single_file_statx(fuse_req_t req, fuse_ino_t ino, int flags, int mask,
> 2026-03-17T23:01:17.9824029Z | ^
> 2026-03-17T23:01:17.9824978Z ../example/single_file.c:198:71: warning: unused parameter 'mask' [-Wunused-parameter]
> 2026-03-17T23:01:17.9829337Z 198 | void single_file_statx(fuse_req_t req, fuse_ino_t ino, int flags, int mask,
> 2026-03-17T23:01:17.9830366Z | ^
> 2026-03-17T23:01:17.9832001Z ../example/single_file.c:199:33: warning: unused parameter 'fi' [-Wunused-parameter]
> 2026-03-17T23:01:17.9833062Z 199 | struct fuse_file_info *fi)
> 2026-03-17T23:01:17.9833562Z | ^
> 2026-03-17T23:01:17.9834825Z ../example/single_file.c:211:2: warning: call to undeclared function 'pthread_mutex_lock'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
> 2026-03-17T23:01:17.9836166Z 211 | pthread_mutex_lock(&single_file.lock);
> 2026-03-17T23:01:17.9836592Z | ^
> 2026-03-17T23:01:17.9837750Z ../example/single_file.c:226:2: warning: call to undeclared function 'pthread_mutex_unlock'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
> 2026-03-17T23:01:17.9869585Z 226 | pthread_mutex_unlock(&single_file.lock);
> 2026-03-17T23:01:17.9870081Z | ^
> 2026-03-17T23:01:17.9871240Z ../example/single_file.c:239:2: warning: call to undeclared function 'pthread_mutex_lock'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
> 2026-03-17T23:01:17.9872595Z 239 | pthread_mutex_lock(&single_file.lock);
> 2026-03-17T23:01:17.9873056Z | ^
> 2026-03-17T23:01:17.9874265Z ../example/single_file.c:241:2: warning: call to undeclared function 'pthread_mutex_unlock'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
> 2026-03-17T23:01:17.9876020Z 241 | pthread_mutex_unlock(&single_file.lock);
> 2026-03-17T23:01:17.9876497Z | ^
> 2026-03-17T23:01:17.9877854Z ../example/single_file.c:252:2: warning: call to undeclared function 'pthread_mutex_lock'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
> 2026-03-17T23:01:17.9879416Z 252 | pthread_mutex_lock(&single_file.lock);
> 2026-03-17T23:01:17.9879896Z | ^
> 2026-03-17T23:01:17.9881050Z ../example/single_file.c:259:2: warning: call to undeclared function 'pthread_mutex_unlock'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
> 2026-03-17T23:01:17.9882409Z 259 | pthread_mutex_unlock(&single_file.lock);
> 2026-03-17T23:01:17.9882862Z | ^
> 2026-03-17T23:01:17.9884018Z ../example/single_file.c:273:2: warning: call to undeclared function 'pthread_mutex_lock'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
> 2026-03-17T23:01:17.9885354Z 273 | pthread_mutex_lock(&single_file.lock);
> 2026-03-17T23:01:18.0387503Z | ^
> 2026-03-17T23:01:18.0402115Z ../example/single_file.c:275:2: warning: call to undeclared function 'pthread_mutex_unlock'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
> 2026-03-17T23:01:18.0403861Z 275 | pthread_mutex_unlock(&single_file.lock);
> 2026-03-17T23:01:18.0404573Z | ^
> 2026-03-17T23:01:18.0404979Z 12 warnings and 1 error generated.
Aha, I bet that came as a result of me boneheadedly copying this from
lib/util.c:
#ifdef HAVE_PTHREAD_SETNAME_NP
#define _GNU_SOURCE
#include <pthread.h>
#endif
Will fix that right up.
> And actually, the Ubuntu build also fails
>
> [12/109] Compiling C object lib/libfuse3.so.3.19.0.p/fuse_service.c.o
> FAILED: [code=1] lib/libfuse3.so.3.19.0.p/fuse_service.c.o
> clang -Ilib/libfuse3.so.3.19.0.p -Ilib -I../../../home/runner/work/libfuse/libfuse/lib -Iinclude -I../../../home/runner/work/libfuse/libfuse/include -I. -I../../../home/runner/work/libfuse/libfuse -fdiagnostics-color=always -fsanitize=address,undefined -fno-omit-frame-pointer -Wall -Winvalid-pch -Wextra -Werror -std=gnu11 -O2 -g -D_REENTRANT -DHAVE_LIBFUSE_PRIVATE_CONFIG_H -Wno-sign-compare -D_FILE_OFFSET_BITS=64 -Wstrict-prototypes -Wmissing-declarations -Wwrite-strings -fno-strict-aliasing -fPIC -pthread -DFUSE_USE_VERSION=317 '-DFUSERMOUNT_DIR="/tmp/libfuse-install-wwy0ckA/bin"' -MD -MQ lib/libfuse3.so.3.19.0.p/fuse_service.c.o -MF lib/libfuse3.so.3.19.0.p/fuse_service.c.o.d -o lib/libfuse3.so.3.19.0.p/fuse_service.c.o -c ../../../home/runner/work/libfuse/libfuse/lib/fuse_service.c
> ../../../home/runner/work/libfuse/libfuse/lib/fuse_service.c:400:19: error: implicit truncation from 'int' to a one-bit wide bit-field changes value from 1 to -1 [-Werror,-Wsingle-bit-bitfield-constant-conversion]
> 400 | sf->allow_other = 1;
> | ^ ~
> ../../../home/runner/work/libfuse/libfuse/lib/fuse_service.c:473:21: error: implicit truncation from 'int' to a one-bit wide bit-field changes value from 1 to -1 [-Werror,-Wsingle-bit-bitfield-constant-conversion]
> 473 | sf->owns_fusedevfd = 1;
Er... ok. Debian 13 gcc (14.2) doesn't complain about this, but fmeh,
I'll just turn that into a fullblown int. :)
Thanks for dipping your toes in!
--D
> | ^ ~
> 2 errors generated.
> [13/109] Compiling C object lib/libfuse3.so.3.19.0.p/modules_subdir.c.o
>
> Checkpatch looks much better, I can push a patch tomorrow to disable the
> strcpy warning.
>
> Other than that I didn't look at the actual changes yet, will really try
> to review this week.
>
> Thanks,
> Bernd
next prev parent reply other threads:[~2026-03-18 0:15 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-16 23:50 [GIT PULL v2] libfuse: run fuse servers as a contained service Darrick J. Wong
2026-03-17 23:08 ` Bernd Schubert
2026-03-18 0:15 ` Darrick J. Wong [this message]
2026-03-18 8:48 ` Bernd Schubert
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260318001512.GT6069@frogsfrogsfrogs \
--to=djwong@kernel.org \
--cc=bernd@bsbernd.com \
--cc=bschubert@ddn.com \
--cc=joannelkoong@gmail.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=miklos@szeredi.hu \
--cc=neal@gompa.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox