On Wed, Aug 20, 2025 at 6:01 PM Darrick J. Wong <djwong@xxxxxxxxxx> wrote: > > From: Darrick J. Wong <djwong@xxxxxxxxxx> > > fuse.h and fuse_lowlevel.h are public headers, don't expose internal > build system config variables to downstream clients. This can also lead > to function pointer ordering issues if (say) libfuse gets built with > HAVE_STATX but the client program doesn't define a HAVE_STATX. > > Get rid of the conditionals in the public header files to fix this. > > Signed-off-by: "Darrick J. Wong" <djwong@xxxxxxxxxx> > --- > include/fuse.h | 2 -- > include/fuse_lowlevel.h | 2 -- > example/memfs_ll.cc | 2 +- > example/passthrough.c | 2 +- > example/passthrough_fh.c | 2 +- > example/passthrough_ll.c | 2 +- > 6 files changed, 4 insertions(+), 8 deletions(-) > > > diff --git a/include/fuse.h b/include/fuse.h > index 06feacb070fbfb..209102651e9454 100644 > --- a/include/fuse.h > +++ b/include/fuse.h > @@ -854,7 +854,6 @@ struct fuse_operations { > */ > off_t (*lseek) (const char *, off_t off, int whence, struct fuse_file_info *); > > -#ifdef HAVE_STATX > /** > * Get extended file attributes. > * > @@ -865,7 +864,6 @@ struct fuse_operations { > */ > int (*statx)(const char *path, int flags, int mask, struct statx *stxbuf, > struct fuse_file_info *fi); > -#endif > }; Are we able to just remove this ifdef? Won't this break compilation on old systems that don't recognize "struct statx"? Thanks, Joanne