On Wed, Jul 8, 2026 at 3:11 PM Luis Henriques <[email protected]> wrote: > > 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]>
Reviewed-by: Amir Goldstein <[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; >

