Since it is probably not worth adding new fuse kselftests based on fuse2,
it is a good idea to convert the single existing test to fuse3.  The
conversion is trivial, as it only requires some changes to function
signatures (the gettattr and truncate fuse operations), and to the filler()
helper.

Signed-off-by: Luis Henriques <[email protected]>
---
 .../testing/selftests/filesystems/fuse/Makefile |  8 ++++----
 .../selftests/filesystems/fuse/fuse_mnt.c       | 17 ++++++++++-------
 2 files changed, 14 insertions(+), 11 deletions(-)

diff --git a/tools/testing/selftests/filesystems/fuse/Makefile 
b/tools/testing/selftests/filesystems/fuse/Makefile
index 612aad69a93a..422cd1b1688d 100644
--- a/tools/testing/selftests/filesystems/fuse/Makefile
+++ b/tools/testing/selftests/filesystems/fuse/Makefile
@@ -7,14 +7,14 @@ TEST_GEN_FILES := fuse_mnt
 
 include ../../lib.mk
 
-VAR_CFLAGS := $(shell pkg-config fuse --cflags 2>/dev/null)
+VAR_CFLAGS := $(shell pkg-config fuse3 --cflags 2>/dev/null)
 ifeq ($(VAR_CFLAGS),)
-VAR_CFLAGS := -D_FILE_OFFSET_BITS=64 -I/usr/include/fuse
+VAR_CFLAGS := -D_FILE_OFFSET_BITS=64 -I/usr/include/fuse3
 endif
 
-VAR_LDLIBS := $(shell pkg-config fuse --libs 2>/dev/null)
+VAR_LDLIBS := $(shell pkg-config fuse3 --libs 2>/dev/null)
 ifeq ($(VAR_LDLIBS),)
-VAR_LDLIBS := -lfuse -pthread
+VAR_LDLIBS := -lfuse3 -pthread
 endif
 
 $(OUTPUT)/fuse_mnt: CFLAGS += $(VAR_CFLAGS)
diff --git a/tools/testing/selftests/filesystems/fuse/fuse_mnt.c 
b/tools/testing/selftests/filesystems/fuse/fuse_mnt.c
index d12b17f30fad..5d335fa5cf05 100644
--- a/tools/testing/selftests/filesystems/fuse/fuse_mnt.c
+++ b/tools/testing/selftests/filesystems/fuse/fuse_mnt.c
@@ -4,7 +4,7 @@
  * Creates a simple FUSE filesystem with a single read-write file (/test)
  */
 
-#define FUSE_USE_VERSION 26
+#define FUSE_USE_VERSION 31
 
 #include <fuse.h>
 #include <stdio.h>
@@ -20,7 +20,8 @@ static char *content;
 static size_t content_size = 0;
 static const char test_path[] = "/test";
 
-static int test_getattr(const char *path, struct stat *st)
+static int test_getattr(const char *path, struct stat *st,
+                       struct fuse_file_info *fi)
 {
        memset(st, 0, sizeof(*st));
 
@@ -41,14 +42,15 @@ static int test_getattr(const char *path, struct stat *st)
 }
 
 static int test_readdir(const char *path, void *buf, fuse_fill_dir_t filler,
-                       off_t offset, struct fuse_file_info *fi)
+                       off_t offset, struct fuse_file_info *fi,
+                       enum fuse_readdir_flags flags)
 {
        if (strcmp(path, "/"))
                return -ENOENT;
 
-       filler(buf, ".", NULL, 0);
-       filler(buf, "..", NULL, 0);
-       filler(buf, test_path + 1, NULL, 0);
+       filler(buf, ".", NULL, 0, FUSE_FILL_DIR_DEFAULTS);
+       filler(buf, "..", NULL, 0, FUSE_FILL_DIR_DEFAULTS);
+       filler(buf, test_path + 1, NULL, 0, FUSE_FILL_DIR_DEFAULTS);
 
        return 0;
 }
@@ -107,7 +109,8 @@ static int test_write(const char *path, const char *buf, 
size_t size,
        return size;
 }
 
-static int test_truncate(const char *path, off_t size)
+static int test_truncate(const char *path, off_t size,
+                        struct fuse_file_info *fi)
 {
        if (strcmp(path, test_path) != 0)
                return -ENOENT;

Reply via email to