[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1084415: rdiff-backup-fs: move from fuse to fuse3



control: tags 1084415 + patch
control: tags 1084415  + pending

Will be uploading fuse 2 to fuse 3 fix on mentors.


Regards,
Syed Shahrukh Hussain.

From: Syed-Shahrukh Hussain <syed.shahrukh@ossrevival.org>
Date: Mon, 15 Dec 2025 10:34:06 +0500
Subject: Migrate from FUSE2 to FUSE3.

--- a/configure.ac
+++ b/configure.ac
@@ -15,7 +15,7 @@
 dnl checks for libraries
 
 AC_CHECK_LIB([z], [gzgets],,[AC_MSG_ERROR(No zlib library!)])
-PKG_CHECK_MODULES([FUSE],[fuse])
+PKG_CHECK_MODULES([FUSE3],[fuse3])
 
 dnl checks for header files
 
@@ -47,11 +47,11 @@
 
 case ${host} in
     *-*-linux-*|*-*-k*bsd*-*)	AC_SUBST(CFLAGS, ["$EXTRA_CFLAGS -Wall -g -O3 $FUSE_CFLAGS"])
-			AC_SUBST(LIBS, ["$LIBS $EXTRA_CFLAGS $FUSE_CFLAGS $FUSE_LIBS -lz"]);;
+			AC_SUBST(LIBS, ["$LIBS $EXTRA_CFLAGS $FUSE3_CFLAGS $FUSE3_LIBS -lz"]);;
     *-*-bsd-*)		AC_SUBST(CFLAGS, ["-Wall -g -O3 $FUSE_CFLAGS"])
-			AC_SUBST(LIBS, ["$LIBS $FUSE_CFLAGS $FUSE_LIBS -lz"]);;
+			AC_SUBST(LIBS, ["$LIBS $FUSE_CFLAGS $FUSE3_LIBS -lz"]);;
     *-*-darwin*)	AC_SUBST(CFLAGS, ["-Wall -g -O3 $FUSE_CFLAGS"])
-			AC_SUBST(LIBS, ["$LIBS $FUSE_CFLAGS $FUSE_LIBS -lz"]);;
+			AC_SUBST(LIBS, ["$LIBS $FUSE_CFLAGS $FUSE3_LIBS -lz"]);;
     *)			AC_MSG_WARN(No automatic flags for this host system; set compile/linking flags manually);;
 esac
 
--- a/externs.h
+++ b/externs.h
@@ -1,9 +1,9 @@
 #ifndef _EXTERNS_H_
 #define _EXTERNS_H_
 
-#define FUSE_USE_VERSION 26
+#define FUSE_USE_VERSION 31
 
-#include <fuse.h>
+#include <fuse3/fuse.h>
 
 extern char *mount_dir;
 // directory where data directory should be created
--- a/operations.c
+++ b/operations.c
@@ -10,7 +10,7 @@
 
 // public:
 
-int revs_getattr(const char *path, struct stat *stbuf){
+int revs_getattr(const char *path, struct stat *stbuf, struct fuse_file_info *fileinfo){
 
     struct stats *stats;
     memset(stbuf, 0, sizeof(struct stat));
@@ -37,7 +37,7 @@
     
 };
 
-int revs_readdir(const char *path, void *buf, fuse_fill_dir_t filler, off_t offset, struct fuse_file_info *fi){
+int revs_readdir(const char *path, void *buf, fuse_fill_dir_t filler, off_t offset, struct fuse_file_info *fi, enum fuse_readdir_flags flags){
 
     (void) offset;
     (void) fi;
@@ -51,8 +51,8 @@
     gstrdel(stats->path);
     free(stats);
 	
-    filler(buf, ".", NULL, 0);
-    filler(buf, "..", NULL, 0);
+    filler(buf, ".", NULL, 0, flags);
+    filler(buf, "..", NULL, 0, flags);
     
     debug(1, "Reading content of the eturned directory\n");
     char **content = get_children(file_system_info, path);
@@ -61,7 +61,7 @@
 		return 0;
 	}
     for (i = 0; content[i] != 0; i++)
-		filler(buf, content[i], NULL, 0);
+		filler(buf, content[i], NULL, 0, flags);
 	debug(1, "There were %d children in this directory;\n", i);
     for (i = 0; content[i] != 0; i++)
         free(content[i]);
--- a/operations.h
+++ b/operations.h
@@ -1,13 +1,13 @@
 #ifndef _OPERATIONS_H_
 #define _OPERATIONS_H_
 
-#define FUSE_USE_VERSION 26
+#define FUSE_USE_VERSION 31
 
-#include <fuse.h>
+#include <fuse3/fuse.h>
 
-int revs_getattr(const char *path, struct stat *stbuf);
+int revs_getattr(const char *path, struct stat *stbuf, struct fuse_file_info *fileinfo);
 
-int revs_readdir(const char *path, void *buf, fuse_fill_dir_t filler, off_t offset, struct fuse_file_info *fi);
+int revs_readdir(const char *path, void *buf, fuse_fill_dir_t filler, off_t offset, struct fuse_file_info *fi,  enum fuse_readdir_flags flags);
 
 int revs_readlink(const char *, char *, size_t);
 
--- a/rdiff-backup-fs.c
+++ b/rdiff-backup-fs.c
@@ -3,9 +3,9 @@
 #include "parse.h"
 #include "initialize.h"
 
-#define FUSE_USE_VERSION 26
+#define FUSE_USE_VERSION 31
 
-#include <fuse.h>
+#include <fuse3/fuse.h>
 
 char *mount_dir = NULL;
 char *tmp_dir = NULL;

Attachment: signature.asc
Description: PGP signature


Reply to: