[PATCH] erofs-utils: fuse: fix compile error with older libfuse versions
Gao Xiang
hsiangkao at linux.alibaba.com
Tue Aug 5 14:01:46 AEST 2025
Fixes: a43529e6c912 ("erofs-utils: fuse: kernel caching for readdir")
Signed-off-by: Gao Xiang <hsiangkao at linux.alibaba.com>
---
configure.ac | 5 +++++
fuse/main.c | 4 ++++
2 files changed, 9 insertions(+)
diff --git a/configure.ac b/configure.ac
index 2d42b1f..da6ae48 100644
--- a/configure.ac
+++ b/configure.ac
@@ -403,6 +403,11 @@ AS_IF([test "x$enable_fuse" != "xno"], [
have_fuse="yes"
], [have_fuse="no"])
])
+ AC_CHECK_MEMBERS([struct fuse_file_info.cache_readdir, struct fuse_file_info.keep_cache],
+ [], [], [[
+#include <fuse.h>
+ ]])
+
LIBS="${saved_LIBS}"
CPPFLAGS="${saved_CPPFLAGS}"], [have_fuse="no"])
diff --git a/fuse/main.c b/fuse/main.c
index c754805..c129a0c 100644
--- a/fuse/main.c
+++ b/fuse/main.c
@@ -301,8 +301,12 @@ static void erofsfuse_opendir(fuse_req_t req, fuse_ino_t ino,
}
fi->fh = (uint64_t)vi;
+#ifdef HAVE_STRUCT_FUSE_FILE_INFO_CACHE_READDIR
fi->cache_readdir = 1;
+#endif
+#ifdef HAVE_STRUCT_FUSE_FILE_INFO_KEEP_CACHE
fi->keep_cache = 1;
+#endif
fuse_reply_open(req, fi);
return;
--
2.43.5
More information about the Linux-erofs
mailing list