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 }; /** Extra context that may be needed by some filesystems diff --git a/include/fuse_lowlevel.h b/include/fuse_lowlevel.h index 844ee710295973..8d87be413bfe37 100644 --- a/include/fuse_lowlevel.h +++ b/include/fuse_lowlevel.h @@ -1327,7 +1327,6 @@ struct fuse_lowlevel_ops { void (*tmpfile) (fuse_req_t req, fuse_ino_t parent, mode_t mode, struct fuse_file_info *fi); -#ifdef HAVE_STATX /** * Get extended file attributes. * @@ -1343,7 +1342,6 @@ struct fuse_lowlevel_ops { */ void (*statx)(fuse_req_t req, fuse_ino_t ino, int flags, int mask, struct fuse_file_info *fi); -#endif }; /** diff --git a/example/memfs_ll.cc b/example/memfs_ll.cc index edda34b4e43d39..7055a434a439cd 100644 --- a/example/memfs_ll.cc +++ b/example/memfs_ll.cc @@ -6,7 +6,7 @@ See the file GPL2.txt. */ -#define FUSE_USE_VERSION 317 +#define FUSE_USE_VERSION FUSE_MAKE_VERSION(3, 18) #include <algorithm> #include <stdio.h> diff --git a/example/passthrough.c b/example/passthrough.c index fdaa19e331a17d..1f09c2dc05df1e 100644 --- a/example/passthrough.c +++ b/example/passthrough.c @@ -23,7 +23,7 @@ */ -#define FUSE_USE_VERSION 31 +#define FUSE_USE_VERSION FUSE_MAKE_VERSION(3, 18) #define _GNU_SOURCE diff --git a/example/passthrough_fh.c b/example/passthrough_fh.c index 0d4fb5bd4df0d6..6403fbb74c7759 100644 --- a/example/passthrough_fh.c +++ b/example/passthrough_fh.c @@ -23,7 +23,7 @@ * \include passthrough_fh.c */ -#define FUSE_USE_VERSION 31 +#define FUSE_USE_VERSION FUSE_MAKE_VERSION(3, 18) #define _GNU_SOURCE diff --git a/example/passthrough_ll.c b/example/passthrough_ll.c index 5ca6efa2300abe..8a5ac2e9226b59 100644 --- a/example/passthrough_ll.c +++ b/example/passthrough_ll.c @@ -35,7 +35,7 @@ */ #define _GNU_SOURCE -#define FUSE_USE_VERSION FUSE_MAKE_VERSION(3, 12) +#define FUSE_USE_VERSION FUSE_MAKE_VERSION(3, 18) #include <fuse_lowlevel.h> #include <unistd.h>