Remove compat functions
authorMiklos Szeredi <mszeredi@suse.cz>
Thu, 19 Jul 2012 17:02:42 +0000 (19:02 +0200)
committerMiklos Szeredi <mszeredi@suse.cz>
Thu, 19 Jul 2012 17:02:42 +0000 (19:02 +0200)
15 files changed:
include/Makefile.am
include/fuse.h
include/fuse_common_compat.h [deleted file]
include/fuse_compat.h [deleted file]
include/fuse_lowlevel.h
include/fuse_lowlevel_compat.h [deleted file]
lib/cuse_lowlevel.c
lib/fuse.c
lib/fuse_i.h
lib/fuse_lowlevel.c
lib/fuse_opt.c
lib/fuse_session.c
lib/fuse_versionscript
lib/helper.c
lib/mount.c

index 663e164cc9e7df77978d00837ef73953b17bb497..5574515c966b5806a09f325f17b733c06592a765 100644 (file)
@@ -4,11 +4,8 @@ fuseincludedir=$(includedir)/fuse
 
 fuseinclude_HEADERS = \
        fuse.h                  \
-       fuse_compat.h           \
        fuse_common.h           \
-       fuse_common_compat.h    \
        fuse_lowlevel.h         \
-       fuse_lowlevel_compat.h  \
        fuse_opt.h              \
        cuse_lowlevel.h
 
index fb5b48bfd05eff65003cc977d3d13c971787a9d5..7522cb6f1f8f60fc5391f8eaffd4cd2e9715b565 100644 (file)
@@ -997,53 +997,6 @@ void fuse_set_getcontext_func(struct fuse_context *(*func)(void));
 /** Get session from fuse object */
 struct fuse_session *fuse_get_session(struct fuse *f);
 
-/* ----------------------------------------------------------- *
- * Compatibility stuff                                        *
- * ----------------------------------------------------------- */
-
-#if FUSE_USE_VERSION < 26
-#  include "fuse_compat.h"
-#  undef fuse_main
-#  if FUSE_USE_VERSION == 25
-#    define fuse_main(argc, argv, op)                          \
-       fuse_main_real_compat25(argc, argv, op, sizeof(*(op)))
-#    define fuse_new fuse_new_compat25
-#    define fuse_setup fuse_setup_compat25
-#    define fuse_teardown fuse_teardown_compat22
-#    define fuse_operations fuse_operations_compat25
-#  elif FUSE_USE_VERSION == 22
-#    define fuse_main(argc, argv, op)                          \
-       fuse_main_real_compat22(argc, argv, op, sizeof(*(op)))
-#    define fuse_new fuse_new_compat22
-#    define fuse_setup fuse_setup_compat22
-#    define fuse_teardown fuse_teardown_compat22
-#    define fuse_operations fuse_operations_compat22
-#    define fuse_file_info fuse_file_info_compat
-#  elif FUSE_USE_VERSION == 24
-#    error Compatibility with high-level API version 24 not supported
-#  else
-#    define fuse_dirfil_t fuse_dirfil_t_compat
-#    define __fuse_read_cmd fuse_read_cmd
-#    define __fuse_process_cmd fuse_process_cmd
-#    define __fuse_loop_mt fuse_loop_mt_proc
-#    if FUSE_USE_VERSION == 21
-#      define fuse_operations fuse_operations_compat2
-#      define fuse_main fuse_main_compat2
-#      define fuse_new fuse_new_compat2
-#      define __fuse_setup fuse_setup_compat2
-#      define __fuse_teardown fuse_teardown_compat22
-#      define __fuse_exited fuse_exited
-#      define __fuse_set_getcontext_func fuse_set_getcontext_func
-#    else
-#      define fuse_statfs fuse_statfs_compat1
-#      define fuse_operations fuse_operations_compat1
-#      define fuse_main fuse_main_compat1
-#      define fuse_new fuse_new_compat1
-#      define FUSE_DEBUG FUSE_DEBUG_COMPAT1
-#    endif
-#  endif
-#endif
-
 #ifdef __cplusplus
 }
 #endif
diff --git a/include/fuse_common_compat.h b/include/fuse_common_compat.h
deleted file mode 100644 (file)
index 34440ff..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
-  FUSE: Filesystem in Userspace
-  Copyright (C) 2001-2007  Miklos Szeredi <miklos@szeredi.hu>
-
-  This program can be distributed under the terms of the GNU LGPLv2.
-  See the file COPYING.LIB.
-*/
-
-/* these definitions provide source compatibility to prior versions.
-   Do not include this file directly! */
-
-struct fuse_file_info_compat {
-       int flags;
-       unsigned long fh;
-       int writepage;
-       unsigned int direct_io : 1;
-       unsigned int keep_cache : 1;
-};
-
-int fuse_mount_compat25(const char *mountpoint, struct fuse_args *args);
-
-int fuse_mount_compat22(const char *mountpoint, const char *opts);
-
-int fuse_mount_compat1(const char *mountpoint, const char *args[]);
-
-void fuse_unmount_compat22(const char *mountpoint);
diff --git a/include/fuse_compat.h b/include/fuse_compat.h
deleted file mode 100644 (file)
index e7497a9..0000000
+++ /dev/null
@@ -1,201 +0,0 @@
-/*
-  FUSE: Filesystem in Userspace
-  Copyright (C) 2001-2007  Miklos Szeredi <miklos@szeredi.hu>
-
-  This program can be distributed under the terms of the GNU LGPLv2.
-  See the file COPYING.LIB.
-*/
-
-/* these definitions provide source compatibility to prior versions.
-   Do not include this file directly! */
-
-struct fuse_operations_compat25 {
-       int (*getattr) (const char *, struct stat *);
-       int (*readlink) (const char *, char *, size_t);
-       int (*getdir) (const char *, fuse_dirh_t, fuse_dirfil_t);
-       int (*mknod) (const char *, mode_t, dev_t);
-       int (*mkdir) (const char *, mode_t);
-       int (*unlink) (const char *);
-       int (*rmdir) (const char *);
-       int (*symlink) (const char *, const char *);
-       int (*rename) (const char *, const char *);
-       int (*link) (const char *, const char *);
-       int (*chmod) (const char *, mode_t);
-       int (*chown) (const char *, uid_t, gid_t);
-       int (*truncate) (const char *, off_t);
-       int (*utime) (const char *, struct utimbuf *);
-       int (*open) (const char *, struct fuse_file_info *);
-       int (*read) (const char *, char *, size_t, off_t,
-                    struct fuse_file_info *);
-       int (*write) (const char *, const char *, size_t, off_t,
-                     struct fuse_file_info *);
-       int (*statfs) (const char *, struct statvfs *);
-       int (*flush) (const char *, struct fuse_file_info *);
-       int (*release) (const char *, struct fuse_file_info *);
-       int (*fsync) (const char *, int, struct fuse_file_info *);
-       int (*setxattr) (const char *, const char *, const char *, size_t, int);
-       int (*getxattr) (const char *, const char *, char *, size_t);
-       int (*listxattr) (const char *, char *, size_t);
-       int (*removexattr) (const char *, const char *);
-       int (*opendir) (const char *, struct fuse_file_info *);
-       int (*readdir) (const char *, void *, fuse_fill_dir_t, off_t,
-                       struct fuse_file_info *);
-       int (*releasedir) (const char *, struct fuse_file_info *);
-       int (*fsyncdir) (const char *, int, struct fuse_file_info *);
-       void *(*init) (void);
-       void (*destroy) (void *);
-       int (*access) (const char *, int);
-       int (*create) (const char *, mode_t, struct fuse_file_info *);
-       int (*ftruncate) (const char *, off_t, struct fuse_file_info *);
-       int (*fgetattr) (const char *, struct stat *, struct fuse_file_info *);
-};
-
-struct fuse *fuse_new_compat25(int fd, struct fuse_args *args,
-                              const struct fuse_operations_compat25 *op,
-                              size_t op_size);
-
-int fuse_main_real_compat25(int argc, char *argv[],
-                           const struct fuse_operations_compat25 *op,
-                           size_t op_size);
-
-struct fuse *fuse_setup_compat25(int argc, char *argv[],
-                                const struct fuse_operations_compat25 *op,
-                                size_t op_size, char **mountpoint,
-                                int *multithreaded, int *fd);
-
-void fuse_teardown_compat22(struct fuse *fuse, int fd, char *mountpoint);
-
-#if !defined(__FreeBSD__) && !defined(__NetBSD__)
-#include <sys/statfs.h>
-
-struct fuse_operations_compat22 {
-       int (*getattr) (const char *, struct stat *);
-       int (*readlink) (const char *, char *, size_t);
-       int (*getdir) (const char *, fuse_dirh_t, fuse_dirfil_t);
-       int (*mknod) (const char *, mode_t, dev_t);
-       int (*mkdir) (const char *, mode_t);
-       int (*unlink) (const char *);
-       int (*rmdir) (const char *);
-       int (*symlink) (const char *, const char *);
-       int (*rename) (const char *, const char *);
-       int (*link) (const char *, const char *);
-       int (*chmod) (const char *, mode_t);
-       int (*chown) (const char *, uid_t, gid_t);
-       int (*truncate) (const char *, off_t);
-       int (*utime) (const char *, struct utimbuf *);
-       int (*open) (const char *, struct fuse_file_info_compat *);
-       int (*read) (const char *, char *, size_t, off_t,
-                    struct fuse_file_info_compat *);
-       int (*write) (const char *, const char *, size_t, off_t,
-                     struct fuse_file_info_compat *);
-       int (*statfs) (const char *, struct statfs *);
-       int (*flush) (const char *, struct fuse_file_info_compat *);
-       int (*release) (const char *, struct fuse_file_info_compat *);
-       int (*fsync) (const char *, int, struct fuse_file_info_compat *);
-       int (*setxattr) (const char *, const char *, const char *, size_t, int);
-       int (*getxattr) (const char *, const char *, char *, size_t);
-       int (*listxattr) (const char *, char *, size_t);
-       int (*removexattr) (const char *, const char *);
-       int (*opendir) (const char *, struct fuse_file_info_compat *);
-       int (*readdir) (const char *, void *, fuse_fill_dir_t, off_t,
-                       struct fuse_file_info_compat *);
-       int (*releasedir) (const char *, struct fuse_file_info_compat *);
-       int (*fsyncdir) (const char *, int, struct fuse_file_info_compat *);
-       void *(*init) (void);
-       void (*destroy) (void *);
-};
-
-struct fuse *fuse_new_compat22(int fd, const char *opts,
-                              const struct fuse_operations_compat22 *op,
-                              size_t op_size);
-
-struct fuse *fuse_setup_compat22(int argc, char *argv[],
-                                const struct fuse_operations_compat22 *op,
-                                size_t op_size, char **mountpoint,
-                                int *multithreaded, int *fd);
-
-int fuse_main_real_compat22(int argc, char *argv[],
-                           const struct fuse_operations_compat22 *op,
-                           size_t op_size);
-
-typedef int (*fuse_dirfil_t_compat) (fuse_dirh_t h, const char *name, int type);
-struct fuse_operations_compat2 {
-       int (*getattr)     (const char *, struct stat *);
-       int (*readlink)    (const char *, char *, size_t);
-       int (*getdir)      (const char *, fuse_dirh_t, fuse_dirfil_t_compat);
-       int (*mknod)       (const char *, mode_t, dev_t);
-       int (*mkdir)       (const char *, mode_t);
-       int (*unlink)      (const char *);
-       int (*rmdir)       (const char *);
-       int (*symlink)     (const char *, const char *);
-       int (*rename)      (const char *, const char *);
-       int (*link)        (const char *, const char *);
-       int (*chmod)       (const char *, mode_t);
-       int (*chown)       (const char *, uid_t, gid_t);
-       int (*truncate)    (const char *, off_t);
-       int (*utime)       (const char *, struct utimbuf *);
-       int (*open)        (const char *, int);
-       int (*read)        (const char *, char *, size_t, off_t);
-       int (*write)       (const char *, const char *, size_t, off_t);
-       int (*statfs)      (const char *, struct statfs *);
-       int (*flush)       (const char *);
-       int (*release)     (const char *, int);
-       int (*fsync)       (const char *, int);
-       int (*setxattr)    (const char *, const char *, const char *,
-                           size_t, int);
-       int (*getxattr)    (const char *, const char *, char *, size_t);
-       int (*listxattr)   (const char *, char *, size_t);
-       int (*removexattr) (const char *, const char *);
-};
-
-int fuse_main_compat2(int argc, char *argv[],
-                     const struct fuse_operations_compat2 *op);
-
-struct fuse *fuse_new_compat2(int fd, const char *opts,
-                             const struct fuse_operations_compat2 *op);
-
-struct fuse *fuse_setup_compat2(int argc, char *argv[],
-                               const struct fuse_operations_compat2 *op,
-                               char **mountpoint, int *multithreaded, int *fd);
-
-struct fuse_statfs_compat1 {
-       long block_size;
-       long blocks;
-       long blocks_free;
-       long files;
-       long files_free;
-       long namelen;
-};
-
-struct fuse_operations_compat1 {
-       int (*getattr)  (const char *, struct stat *);
-       int (*readlink) (const char *, char *, size_t);
-       int (*getdir)   (const char *, fuse_dirh_t, fuse_dirfil_t_compat);
-       int (*mknod)    (const char *, mode_t, dev_t);
-       int (*mkdir)    (const char *, mode_t);
-       int (*unlink)   (const char *);
-       int (*rmdir)    (const char *);
-       int (*symlink)  (const char *, const char *);
-       int (*rename)   (const char *, const char *);
-       int (*link)     (const char *, const char *);
-       int (*chmod)    (const char *, mode_t);
-       int (*chown)    (const char *, uid_t, gid_t);
-       int (*truncate) (const char *, off_t);
-       int (*utime)    (const char *, struct utimbuf *);
-       int (*open)     (const char *, int);
-       int (*read)     (const char *, char *, size_t, off_t);
-       int (*write)    (const char *, const char *, size_t, off_t);
-       int (*statfs)   (struct fuse_statfs_compat1 *);
-       int (*release)  (const char *, int);
-       int (*fsync)    (const char *, int);
-};
-
-#define FUSE_DEBUG_COMPAT1      (1 << 1)
-
-struct fuse *fuse_new_compat1(int fd, int flags,
-                             const struct fuse_operations_compat1 *op);
-
-void fuse_main_compat1(int argc, char *argv[],
-                      const struct fuse_operations_compat1 *op);
-
-#endif /* __FreeBSD__ || __NetBSD__ */
index 2036717f36cb4aa375b6f960cf09aeea4ca26bff..9a24bcc273afad298c1f5cf28928bbca217f718d 100644 (file)
@@ -1808,28 +1808,6 @@ int fuse_chan_send(struct fuse_chan *ch, const struct iovec iov[],
  */
 void fuse_chan_destroy(struct fuse_chan *ch);
 
-/* ----------------------------------------------------------- *
- * Compatibility stuff                                        *
- * ----------------------------------------------------------- */
-
-#if FUSE_USE_VERSION < 26
-#  include "fuse_lowlevel_compat.h"
-#  define fuse_chan_ops fuse_chan_ops_compat24
-#  define fuse_chan_new fuse_chan_new_compat24
-#  if FUSE_USE_VERSION == 25
-#    define fuse_lowlevel_ops fuse_lowlevel_ops_compat25
-#    define fuse_lowlevel_new fuse_lowlevel_new_compat25
-#  elif FUSE_USE_VERSION == 24
-#    define fuse_lowlevel_ops fuse_lowlevel_ops_compat
-#    define fuse_lowlevel_new fuse_lowlevel_new_compat
-#    define fuse_file_info fuse_file_info_compat
-#    define fuse_reply_statfs fuse_reply_statfs_compat
-#    define fuse_reply_open fuse_reply_open_compat
-#  else
-#    error Compatibility with low-level API version < 24 not supported
-#  endif
-#endif
-
 #ifdef __cplusplus
 }
 #endif
diff --git a/include/fuse_lowlevel_compat.h b/include/fuse_lowlevel_compat.h
deleted file mode 100644 (file)
index 8de220b..0000000
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
-  FUSE: Filesystem in Userspace
-  Copyright (C) 2001-2007  Miklos Szeredi <miklos@szeredi.hu>
-
-  This program can be distributed under the terms of the GNU LGPLv2.
-  See the file COPYING.LIB.
-*/
-
-/* these definitions provide source compatibility to prior versions.
-   Do not include this file directly! */
-
-struct fuse_lowlevel_ops_compat25 {
-       void (*init) (void *userdata);
-       void (*destroy) (void *userdata);
-       void (*lookup) (fuse_req_t req, fuse_ino_t parent, const char *name);
-       void (*forget) (fuse_req_t req, fuse_ino_t ino, unsigned long nlookup);
-       void (*getattr) (fuse_req_t req, fuse_ino_t ino,
-                        struct fuse_file_info *fi);
-       void (*setattr) (fuse_req_t req, fuse_ino_t ino, struct stat *attr,
-                        int to_set, struct fuse_file_info *fi);
-       void (*readlink) (fuse_req_t req, fuse_ino_t ino);
-       void (*mknod) (fuse_req_t req, fuse_ino_t parent, const char *name,
-                      mode_t mode, dev_t rdev);
-       void (*mkdir) (fuse_req_t req, fuse_ino_t parent, const char *name,
-                      mode_t mode);
-       void (*unlink) (fuse_req_t req, fuse_ino_t parent, const char *name);
-       void (*rmdir) (fuse_req_t req, fuse_ino_t parent, const char *name);
-       void (*symlink) (fuse_req_t req, const char *link, fuse_ino_t parent,
-                        const char *name);
-       void (*rename) (fuse_req_t req, fuse_ino_t parent, const char *name,
-                       fuse_ino_t newparent, const char *newname);
-       void (*link) (fuse_req_t req, fuse_ino_t ino, fuse_ino_t newparent,
-                     const char *newname);
-       void (*open) (fuse_req_t req, fuse_ino_t ino,
-                     struct fuse_file_info *fi);
-       void (*read) (fuse_req_t req, fuse_ino_t ino, size_t size, off_t off,
-                     struct fuse_file_info *fi);
-       void (*write) (fuse_req_t req, fuse_ino_t ino, const char *buf,
-                      size_t size, off_t off, struct fuse_file_info *fi);
-       void (*flush) (fuse_req_t req, fuse_ino_t ino,
-                      struct fuse_file_info *fi);
-       void (*release) (fuse_req_t req, fuse_ino_t ino,
-                        struct fuse_file_info *fi);
-       void (*fsync) (fuse_req_t req, fuse_ino_t ino, int datasync,
-                      struct fuse_file_info *fi);
-       void (*opendir) (fuse_req_t req, fuse_ino_t ino,
-                        struct fuse_file_info *fi);
-       void (*readdir) (fuse_req_t req, fuse_ino_t ino, size_t size, off_t off,
-                        struct fuse_file_info *fi);
-       void (*releasedir) (fuse_req_t req, fuse_ino_t ino,
-                           struct fuse_file_info *fi);
-       void (*fsyncdir) (fuse_req_t req, fuse_ino_t ino, int datasync,
-                         struct fuse_file_info *fi);
-       void (*statfs) (fuse_req_t req);
-       void (*setxattr) (fuse_req_t req, fuse_ino_t ino, const char *name,
-                         const char *value, size_t size, int flags);
-       void (*getxattr) (fuse_req_t req, fuse_ino_t ino, const char *name,
-                         size_t size);
-       void (*listxattr) (fuse_req_t req, fuse_ino_t ino, size_t size);
-       void (*removexattr) (fuse_req_t req, fuse_ino_t ino, const char *name);
-       void (*access) (fuse_req_t req, fuse_ino_t ino, int mask);
-       void (*create) (fuse_req_t req, fuse_ino_t parent, const char *name,
-                       mode_t mode, struct fuse_file_info *fi);
-};
-
-struct fuse_session *fuse_lowlevel_new_compat25(struct fuse_args *args,
-                               const struct fuse_lowlevel_ops_compat25 *op,
-                               size_t op_size, void *userdata);
-
-size_t fuse_dirent_size(size_t namelen);
-
-char *fuse_add_dirent(char *buf, const char *name, const struct stat *stbuf,
-                     off_t off);
-
-#if !defined(__FreeBSD__) && !defined(__NetBSD__)
-
-#include <sys/statfs.h>
-
-struct fuse_lowlevel_ops_compat {
-       void (*init) (void *userdata);
-       void (*destroy) (void *userdata);
-       void (*lookup) (fuse_req_t req, fuse_ino_t parent, const char *name);
-       void (*forget) (fuse_req_t req, fuse_ino_t ino, unsigned long nlookup);
-       void (*getattr) (fuse_req_t req, fuse_ino_t ino,
-                        struct fuse_file_info_compat *fi);
-       void (*setattr) (fuse_req_t req, fuse_ino_t ino, struct stat *attr,
-                        int to_set, struct fuse_file_info_compat *fi);
-       void (*readlink) (fuse_req_t req, fuse_ino_t ino);
-       void (*mknod) (fuse_req_t req, fuse_ino_t parent, const char *name,
-                      mode_t mode, dev_t rdev);
-       void (*mkdir) (fuse_req_t req, fuse_ino_t parent, const char *name,
-                      mode_t mode);
-       void (*unlink) (fuse_req_t req, fuse_ino_t parent, const char *name);
-       void (*rmdir) (fuse_req_t req, fuse_ino_t parent, const char *name);
-       void (*symlink) (fuse_req_t req, const char *link, fuse_ino_t parent,
-                        const char *name);
-       void (*rename) (fuse_req_t req, fuse_ino_t parent, const char *name,
-                       fuse_ino_t newparent, const char *newname);
-       void (*link) (fuse_req_t req, fuse_ino_t ino, fuse_ino_t newparent,
-                     const char *newname);
-       void (*open) (fuse_req_t req, fuse_ino_t ino,
-                     struct fuse_file_info_compat *fi);
-       void (*read) (fuse_req_t req, fuse_ino_t ino, size_t size, off_t off,
-                     struct fuse_file_info_compat *fi);
-       void (*write) (fuse_req_t req, fuse_ino_t ino, const char *buf,
-                      size_t size, off_t off, struct fuse_file_info_compat *fi);
-       void (*flush) (fuse_req_t req, fuse_ino_t ino,
-                      struct fuse_file_info_compat *fi);
-       void (*release) (fuse_req_t req, fuse_ino_t ino,
-                        struct fuse_file_info_compat *fi);
-       void (*fsync) (fuse_req_t req, fuse_ino_t ino, int datasync,
-                      struct fuse_file_info_compat *fi);
-       void (*opendir) (fuse_req_t req, fuse_ino_t ino,
-                        struct fuse_file_info_compat *fi);
-       void (*readdir) (fuse_req_t req, fuse_ino_t ino, size_t size, off_t off,
-                        struct fuse_file_info_compat *fi);
-       void (*releasedir) (fuse_req_t req, fuse_ino_t ino,
-                           struct fuse_file_info_compat *fi);
-       void (*fsyncdir) (fuse_req_t req, fuse_ino_t ino, int datasync,
-                         struct fuse_file_info_compat *fi);
-       void (*statfs) (fuse_req_t req);
-       void (*setxattr) (fuse_req_t req, fuse_ino_t ino, const char *name,
-                         const char *value, size_t size, int flags);
-       void (*getxattr) (fuse_req_t req, fuse_ino_t ino, const char *name,
-                         size_t size);
-       void (*listxattr) (fuse_req_t req, fuse_ino_t ino, size_t size);
-       void (*removexattr) (fuse_req_t req, fuse_ino_t ino, const char *name);
-       void (*access) (fuse_req_t req, fuse_ino_t ino, int mask);
-       void (*create) (fuse_req_t req, fuse_ino_t parent, const char *name,
-                       mode_t mode, struct fuse_file_info_compat *fi);
-};
-
-int fuse_reply_statfs_compat(fuse_req_t req, const struct statfs *stbuf);
-
-int fuse_reply_open_compat(fuse_req_t req,
-                          const struct fuse_file_info_compat *fi);
-
-struct fuse_session *fuse_lowlevel_new_compat(const char *opts,
-                               const struct fuse_lowlevel_ops_compat *op,
-                               size_t op_size, void *userdata);
-
-#endif /* __FreeBSD__ || __NetBSD__ */
-
-struct fuse_chan_ops_compat24 {
-       int (*receive)(struct fuse_chan *ch, char *buf, size_t size);
-       int (*send)(struct fuse_chan *ch, const struct iovec iov[],
-                   size_t count);
-       void (*destroy)(struct fuse_chan *ch);
-};
-
-struct fuse_chan *fuse_chan_new_compat24(struct fuse_chan_ops_compat24 *op,
-                                        int fd, size_t bufsize, void *data);
-
-int fuse_chan_receive(struct fuse_chan *ch, char *buf, size_t size);
-struct fuse_chan *fuse_kern_chan_new(int fd);
index 402cf4bd1f5262fff609fe65c693abf1df3a5e72..1d0537b0490bc295e94fa517b60176c262329054 100644 (file)
@@ -170,7 +170,7 @@ struct fuse_session *cuse_lowlevel_new(struct fuse_args *args,
        lop.ioctl       = clop->ioctl           ? cuse_fll_ioctl        : NULL;
        lop.poll        = clop->poll            ? cuse_fll_poll         : NULL;
 
-       se = fuse_lowlevel_new_common(args, &lop, sizeof(lop), userdata);
+       se = fuse_lowlevel_new(args, &lop, sizeof(lop), userdata);
        if (!se) {
                free(cd);
                return NULL;
index 9f8a116a4a2adc0fe443ddf176b93c5a7dc91e3f..a0c4183fb80f93dc6decd131ab34a399f8c0e01d 100644 (file)
@@ -14,8 +14,6 @@
 #include "fuse_lowlevel.h"
 #include "fuse_opt.h"
 #include "fuse_misc.h"
-#include "fuse_common_compat.h"
-#include "fuse_compat.h"
 #include "fuse_kernel.h"
 
 #include <stdio.h>
@@ -80,7 +78,6 @@ struct fuse_fs {
        struct fuse_operations op;
        struct fuse_module *m;
        void *user_data;
-       int compat;
        int debug;
 };
 
@@ -1407,129 +1404,6 @@ static inline void fuse_prepare_interrupt(struct fuse *f, fuse_req_t req,
                fuse_do_prepare_interrupt(req, d);
 }
 
-#if !defined(__FreeBSD__) && !defined(__NetBSD__)
-
-static int fuse_compat_open(struct fuse_fs *fs, const char *path,
-                           struct fuse_file_info *fi)
-{
-       int err;
-       if (!fs->compat || fs->compat >= 25)
-               err = fs->op.open(path, fi);
-       else if (fs->compat == 22) {
-               struct fuse_file_info_compat tmp;
-               memcpy(&tmp, fi, sizeof(tmp));
-               err = ((struct fuse_operations_compat22 *) &fs->op)->open(path,
-                                                                         &tmp);
-               memcpy(fi, &tmp, sizeof(tmp));
-               fi->fh = tmp.fh;
-       } else
-               err = ((struct fuse_operations_compat2 *) &fs->op)
-                       ->open(path, fi->flags);
-       return err;
-}
-
-static int fuse_compat_release(struct fuse_fs *fs, const char *path,
-                              struct fuse_file_info *fi)
-{
-       if (!fs->compat || fs->compat >= 22)
-               return fs->op.release(path, fi);
-       else
-               return ((struct fuse_operations_compat2 *) &fs->op)
-                       ->release(path, fi->flags);
-}
-
-static int fuse_compat_opendir(struct fuse_fs *fs, const char *path,
-                              struct fuse_file_info *fi)
-{
-       if (!fs->compat || fs->compat >= 25)
-               return fs->op.opendir(path, fi);
-       else {
-               int err;
-               struct fuse_file_info_compat tmp;
-               memcpy(&tmp, fi, sizeof(tmp));
-               err = ((struct fuse_operations_compat22 *) &fs->op)
-                       ->opendir(path, &tmp);
-               memcpy(fi, &tmp, sizeof(tmp));
-               fi->fh = tmp.fh;
-               return err;
-       }
-}
-
-static void convert_statfs_compat(struct fuse_statfs_compat1 *compatbuf,
-                                 struct statvfs *stbuf)
-{
-       stbuf->f_bsize   = compatbuf->block_size;
-       stbuf->f_blocks  = compatbuf->blocks;
-       stbuf->f_bfree   = compatbuf->blocks_free;
-       stbuf->f_bavail  = compatbuf->blocks_free;
-       stbuf->f_files   = compatbuf->files;
-       stbuf->f_ffree   = compatbuf->files_free;
-       stbuf->f_namemax = compatbuf->namelen;
-}
-
-static void convert_statfs_old(struct statfs *oldbuf, struct statvfs *stbuf)
-{
-       stbuf->f_bsize   = oldbuf->f_bsize;
-       stbuf->f_blocks  = oldbuf->f_blocks;
-       stbuf->f_bfree   = oldbuf->f_bfree;
-       stbuf->f_bavail  = oldbuf->f_bavail;
-       stbuf->f_files   = oldbuf->f_files;
-       stbuf->f_ffree   = oldbuf->f_ffree;
-       stbuf->f_namemax = oldbuf->f_namelen;
-}
-
-static int fuse_compat_statfs(struct fuse_fs *fs, const char *path,
-                             struct statvfs *buf)
-{
-       int err;
-
-       if (!fs->compat || fs->compat >= 25) {
-               err = fs->op.statfs(fs->compat == 25 ? "/" : path, buf);
-       } else if (fs->compat > 11) {
-               struct statfs oldbuf;
-               err = ((struct fuse_operations_compat22 *) &fs->op)
-                       ->statfs("/", &oldbuf);
-               if (!err)
-                       convert_statfs_old(&oldbuf, buf);
-       } else {
-               struct fuse_statfs_compat1 compatbuf;
-               memset(&compatbuf, 0, sizeof(struct fuse_statfs_compat1));
-               err = ((struct fuse_operations_compat1 *) &fs->op)
-                       ->statfs(&compatbuf);
-               if (!err)
-                       convert_statfs_compat(&compatbuf, buf);
-       }
-       return err;
-}
-
-#else /* __FreeBSD__ || __NetBSD__ */
-
-static inline int fuse_compat_open(struct fuse_fs *fs, char *path,
-                                  struct fuse_file_info *fi)
-{
-       return fs->op.open(path, fi);
-}
-
-static inline int fuse_compat_release(struct fuse_fs *fs, const char *path,
-                                     struct fuse_file_info *fi)
-{
-       return fs->op.release(path, fi);
-}
-
-static inline int fuse_compat_opendir(struct fuse_fs *fs, const char *path,
-                                     struct fuse_file_info *fi)
-{
-       return fs->op.opendir(path, fi);
-}
-
-static inline int fuse_compat_statfs(struct fuse_fs *fs, const char *path,
-                                    struct statvfs *buf)
-{
-       return fs->op.statfs(fs->compat == 25 ? "/" : path, buf);
-}
-
-#endif /* __FreeBSD__ || __NetBSD__ */
-
 int fuse_fs_getattr(struct fuse_fs *fs, const char *path, struct stat *buf)
 {
        fuse_get_context()->private_data = fs->user_data;
@@ -1639,7 +1513,7 @@ int fuse_fs_release(struct fuse_fs *fs,    const char *path,
                                fi->flush ? "+flush" : "",
                                (unsigned long long) fi->fh, fi->flags);
 
-               return fuse_compat_release(fs, path, fi);
+               return fs->op.release(path, fi);
        } else {
                return 0;
        }
@@ -1656,7 +1530,7 @@ int fuse_fs_opendir(struct fuse_fs *fs, const char *path,
                        fprintf(stderr, "opendir flags: 0x%x %s\n", fi->flags,
                                path);
 
-               err = fuse_compat_opendir(fs, path, fi);
+               err = fs->op.opendir(path, fi);
 
                if (fs->debug && !err)
                        fprintf(stderr, "   opendir[%lli] flags: 0x%x %s\n",
@@ -1679,7 +1553,7 @@ int fuse_fs_open(struct fuse_fs *fs, const char *path,
                        fprintf(stderr, "open flags: 0x%x %s\n", fi->flags,
                                path);
 
-               err = fuse_compat_open(fs, path, fi);
+               err = fs->op.open(path, fi);
 
                if (fs->debug && !err)
                        fprintf(stderr, "   open[%lli] flags: 0x%x %s\n",
@@ -1901,7 +1775,7 @@ int fuse_fs_statfs(struct fuse_fs *fs, const char *path, struct statvfs *buf)
                if (fs->debug)
                        fprintf(stderr, "statfs %s\n", path);
 
-               return fuse_compat_statfs(fs, path, buf);
+               return fs->op.statfs(path, buf);
        } else {
                buf->f_namemax = 255;
                buf->f_bsize = 512;
@@ -4274,17 +4148,6 @@ struct fuse_context *fuse_get_context(void)
        return &fuse_get_context_internal()->ctx;
 }
 
-/*
- * The size of fuse_context got extended, so need to be careful about
- * incompatibility (i.e. a new binary cannot work with an old
- * library).
- */
-struct fuse_context *fuse_get_context_compat22(void);
-struct fuse_context *fuse_get_context_compat22(void)
-{
-       return &fuse_get_context_internal()->ctx;
-}
-
 int fuse_getgroups(int size, gid_t list[])
 {
        fuse_req_t req = fuse_get_context_internal()->req;
@@ -4530,9 +4393,9 @@ void fuse_stop_cleanup_thread(struct fuse *f)
        }
 }
 
-struct fuse *fuse_new_common(struct fuse_chan *ch, struct fuse_args *args,
-                            const struct fuse_operations *op,
-                            size_t op_size, void *user_data, int compat)
+struct fuse *fuse_new(struct fuse_chan *ch, struct fuse_args *args,
+                     const struct fuse_operations *op,
+                     size_t op_size, void *user_data)
 {
        struct fuse *f;
        struct node *root;
@@ -4552,7 +4415,6 @@ struct fuse *fuse_new_common(struct fuse_chan *ch, struct fuse_args *args,
        if (!fs)
                goto out_free;
 
-       fs->compat = compat;
        f->fs = fs;
        f->nullpath_ok = fs->op.flag_nullpath_ok;
        f->conf.nopath = fs->op.flag_nopath;
@@ -4604,12 +4466,7 @@ struct fuse *fuse_new_common(struct fuse_chan *ch, struct fuse_args *args,
        f->conf.readdir_ino = 1;
 #endif
 
-       if (compat && compat <= 25) {
-               if (fuse_sync_compat_args(args) == -1)
-                       goto out_free_fs;
-       }
-
-       f->se = fuse_lowlevel_new_common(args, &llop, sizeof(llop), f);
+       f->se = fuse_lowlevel_new(args, &llop, sizeof(llop), f);
        if (f->se == NULL) {
                if (f->conf.help)
                        fuse_lib_help_modules();
@@ -4681,13 +4538,6 @@ out:
        return NULL;
 }
 
-struct fuse *fuse_new(struct fuse_chan *ch, struct fuse_args *args,
-                     const struct fuse_operations *op, size_t op_size,
-                     void *user_data)
-{
-       return fuse_new_common(ch, args, op, op_size, user_data, 0);
-}
-
 void fuse_destroy(struct fuse *f)
 {
        size_t i;
@@ -4738,19 +4588,6 @@ void fuse_destroy(struct fuse *f)
        fuse_delete_context_key();
 }
 
-static struct fuse *fuse_new_common_compat25(int fd, struct fuse_args *args,
-                                            const struct fuse_operations *op,
-                                            size_t op_size, int compat)
-{
-       struct fuse *f = NULL;
-       struct fuse_chan *ch = fuse_kern_chan_new(fd);
-
-       if (ch)
-               f = fuse_new_common(ch, args, op, op_size, NULL, compat);
-
-       return f;
-}
-
 /* called with fuse_context_lock held or during initialization (before
    main() has been called) */
 void fuse_register_module(struct fuse_module *mod)
@@ -4762,63 +4599,3 @@ void fuse_register_module(struct fuse_module *mod)
        mod->next = fuse_modules;
        fuse_modules = mod;
 }
-
-#if !defined(__FreeBSD__) && !defined(__NetBSD__)
-
-static struct fuse *fuse_new_common_compat(int fd, const char *opts,
-                                          const struct fuse_operations *op,
-                                          size_t op_size, int compat)
-{
-       struct fuse *f;
-       struct fuse_args args = FUSE_ARGS_INIT(0, NULL);
-
-       if (fuse_opt_add_arg(&args, "") == -1)
-               return NULL;
-       if (opts &&
-           (fuse_opt_add_arg(&args, "-o") == -1 ||
-            fuse_opt_add_arg(&args, opts) == -1)) {
-               fuse_opt_free_args(&args);
-               return NULL;
-       }
-       f = fuse_new_common_compat25(fd, &args, op, op_size, compat);
-       fuse_opt_free_args(&args);
-
-       return f;
-}
-
-struct fuse *fuse_new_compat22(int fd, const char *opts,
-                              const struct fuse_operations_compat22 *op,
-                              size_t op_size)
-{
-       return fuse_new_common_compat(fd, opts, (struct fuse_operations *) op,
-                                     op_size, 22);
-}
-
-struct fuse *fuse_new_compat2(int fd, const char *opts,
-                             const struct fuse_operations_compat2 *op)
-{
-       return fuse_new_common_compat(fd, opts, (struct fuse_operations *) op,
-                                     sizeof(struct fuse_operations_compat2),
-                                     21);
-}
-
-struct fuse *fuse_new_compat1(int fd, int flags,
-                             const struct fuse_operations_compat1 *op)
-{
-       const char *opts = NULL;
-       if (flags & FUSE_DEBUG_COMPAT1)
-               opts = "debug";
-       return fuse_new_common_compat(fd, opts, (struct fuse_operations *) op,
-                                     sizeof(struct fuse_operations_compat1),
-                                     11);
-}
-
-#endif /* __FreeBSD__ || __NetBSD__  */
-
-struct fuse *fuse_new_compat25(int fd, struct fuse_args *args,
-                              const struct fuse_operations_compat25 *op,
-                              size_t op_size)
-{
-       return fuse_new_common_compat25(fd, args, (struct fuse_operations *) op,
-                                       op_size, 25);
-}
index 78f14677aa2f2934e74e21a134e9a6cc9c4d9a29..1f1787e873dbf4cf391777d585202f1fc15efa6d 100644 (file)
@@ -93,19 +93,8 @@ struct fuse_cmd {
        struct fuse_chan *ch;
 };
 
-struct fuse *fuse_new_common(struct fuse_chan *ch, struct fuse_args *args,
-                            const struct fuse_operations *op,
-                            size_t op_size, void *user_data, int compat);
-
-int fuse_sync_compat_args(struct fuse_args *args);
-
 struct fuse_chan *fuse_kern_chan_new(int fd);
 
-struct fuse_session *fuse_lowlevel_new_common(struct fuse_args *args,
-                                       const struct fuse_lowlevel_ops *op,
-                                       size_t op_size, void *userdata);
-
-void fuse_kern_unmount_compat22(const char *mountpoint);
 void fuse_kern_unmount(const char *mountpoint, int fd);
 int fuse_kern_mount(const char *mountpoint, struct fuse_args *args);
 
@@ -113,16 +102,6 @@ int fuse_send_reply_iov_nofree(fuse_req_t req, int error, struct iovec *iov,
                               int count);
 void fuse_free_req(fuse_req_t req);
 
-
-struct fuse *fuse_setup_common(int argc, char *argv[],
-                              const struct fuse_operations *op,
-                              size_t op_size,
-                              char **mountpoint,
-                              int *multithreaded,
-                              int *fd,
-                              void *user_data,
-                              int compat);
-
 void cuse_lowlevel_init(fuse_req_t req, fuse_ino_t nodeide, const void *inarg);
 
 int fuse_start_thread(pthread_t *thread_id, void *(*func)(void *), void *arg);
index de2046d05d9df97c60af070dc87a94fe3faa06ce..4178d9a04cac63ce60a499f6692feadbf71e11b0 100644 (file)
@@ -12,8 +12,6 @@
 #include "fuse_kernel.h"
 #include "fuse_opt.h"
 #include "fuse_misc.h"
-#include "fuse_common_compat.h"
-#include "fuse_lowlevel_compat.h"
 
 #include <stdio.h>
 #include <stdlib.h>
@@ -240,13 +238,13 @@ int fuse_reply_iov(fuse_req_t req, const struct iovec *iov, int count)
        return res;
 }
 
-size_t fuse_dirent_size(size_t namelen)
+static size_t fuse_dirent_size(size_t namelen)
 {
        return FUSE_DIRENT_ALIGN(FUSE_NAME_OFFSET + namelen);
 }
 
-char *fuse_add_dirent(char *buf, const char *name, const struct stat *stbuf,
-                     off_t off)
+static char *fuse_add_dirent(char *buf, const char *name,
+                            const struct stat *stbuf, off_t off)
 {
        unsigned namelen = strlen(name);
        unsigned entlen = FUSE_NAME_OFFSET + namelen;
@@ -2201,17 +2199,6 @@ const struct fuse_ctx *fuse_req_ctx(fuse_req_t req)
        return &req->ctx;
 }
 
-/*
- * The size of fuse_ctx got extended, so need to be careful about
- * incompatibility (i.e. a new binary cannot work with an old
- * library).
- */
-const struct fuse_ctx *fuse_req_ctx_compat24(fuse_req_t req);
-const struct fuse_ctx *fuse_req_ctx_compat24(fuse_req_t req)
-{
-       return fuse_req_ctx(req);
-}
-
 void fuse_req_interrupt_func(fuse_req_t req, fuse_interrupt_func_t func,
                             void *data)
 {
@@ -2685,14 +2672,9 @@ static int fuse_ll_receive_buf(struct fuse_session *se, struct fuse_buf *buf,
 #endif
 
 
-/*
- * always call fuse_lowlevel_new_common() internally, to work around a
- * misfeature in the FreeBSD runtime linker, which links the old
- * version of a symbol to internal references.
- */
-struct fuse_session *fuse_lowlevel_new_common(struct fuse_args *args,
-                                             const struct fuse_lowlevel_ops *op,
-                                             size_t op_size, void *userdata)
+struct fuse_session *fuse_lowlevel_new(struct fuse_args *args,
+                                      const struct fuse_lowlevel_ops *op,
+                                      size_t op_size, void *userdata)
 {
        int err;
        struct fuse_ll *f;
@@ -2758,14 +2740,6 @@ out:
        return NULL;
 }
 
-
-struct fuse_session *fuse_lowlevel_new(struct fuse_args *args,
-                                      const struct fuse_lowlevel_ops *op,
-                                      size_t op_size, void *userdata)
-{
-       return fuse_lowlevel_new_common(args, op, op_size, userdata);
-}
-
 #ifdef linux
 int fuse_req_getgroups(fuse_req_t req, int size, gid_t list[])
 {
@@ -2834,123 +2808,3 @@ int fuse_req_getgroups(fuse_req_t req, int size, gid_t list[])
        return -ENOSYS;
 }
 #endif
-
-#if !defined(__FreeBSD__) && !defined(__NetBSD__)
-
-static void fill_open_compat(struct fuse_open_out *arg,
-                            const struct fuse_file_info_compat *f)
-{
-       arg->fh = f->fh;
-       if (f->direct_io)
-               arg->open_flags |= FOPEN_DIRECT_IO;
-       if (f->keep_cache)
-               arg->open_flags |= FOPEN_KEEP_CACHE;
-}
-
-static void convert_statfs_compat(const struct statfs *compatbuf,
-                                 struct statvfs *buf)
-{
-       buf->f_bsize    = compatbuf->f_bsize;
-       buf->f_blocks   = compatbuf->f_blocks;
-       buf->f_bfree    = compatbuf->f_bfree;
-       buf->f_bavail   = compatbuf->f_bavail;
-       buf->f_files    = compatbuf->f_files;
-       buf->f_ffree    = compatbuf->f_ffree;
-       buf->f_namemax  = compatbuf->f_namelen;
-}
-
-int fuse_reply_open_compat(fuse_req_t req,
-                          const struct fuse_file_info_compat *f)
-{
-       struct fuse_open_out arg;
-
-       memset(&arg, 0, sizeof(arg));
-       fill_open_compat(&arg, f);
-       return send_reply_ok(req, &arg, sizeof(arg));
-}
-
-int fuse_reply_statfs_compat(fuse_req_t req, const struct statfs *stbuf)
-{
-       struct statvfs newbuf;
-
-       memset(&newbuf, 0, sizeof(newbuf));
-       convert_statfs_compat(stbuf, &newbuf);
-
-       return fuse_reply_statfs(req, &newbuf);
-}
-
-struct fuse_session *fuse_lowlevel_new_compat(const char *opts,
-                               const struct fuse_lowlevel_ops_compat *op,
-                               size_t op_size, void *userdata)
-{
-       struct fuse_session *se;
-       struct fuse_args args = FUSE_ARGS_INIT(0, NULL);
-
-       if (opts &&
-           (fuse_opt_add_arg(&args, "") == -1 ||
-            fuse_opt_add_arg(&args, "-o") == -1 ||
-            fuse_opt_add_arg(&args, opts) == -1)) {
-               fuse_opt_free_args(&args);
-               return NULL;
-       }
-       se = fuse_lowlevel_new(&args, (const struct fuse_lowlevel_ops *) op,
-                              op_size, userdata);
-       fuse_opt_free_args(&args);
-
-       return se;
-}
-
-struct fuse_ll_compat_conf {
-       unsigned max_read;
-       int set_max_read;
-};
-
-static const struct fuse_opt fuse_ll_opts_compat[] = {
-       { "max_read=", offsetof(struct fuse_ll_compat_conf, set_max_read), 1 },
-       { "max_read=%u", offsetof(struct fuse_ll_compat_conf, max_read), 0 },
-       FUSE_OPT_KEY("max_read=", FUSE_OPT_KEY_KEEP),
-       FUSE_OPT_END
-};
-
-int fuse_sync_compat_args(struct fuse_args *args)
-{
-       struct fuse_ll_compat_conf conf;
-
-       memset(&conf, 0, sizeof(conf));
-       if (fuse_opt_parse(args, &conf, fuse_ll_opts_compat, NULL) == -1)
-               return -1;
-
-       if (fuse_opt_insert_arg(args, 1, "-osync_read"))
-               return -1;
-
-       if (conf.set_max_read) {
-               char tmpbuf[64];
-
-               sprintf(tmpbuf, "-omax_readahead=%u", conf.max_read);
-               if (fuse_opt_insert_arg(args, 1, tmpbuf) == -1)
-                       return -1;
-       }
-       return 0;
-}
-
-#else /* __FreeBSD__ || __NetBSD__ */
-
-int fuse_sync_compat_args(struct fuse_args *args)
-{
-       (void) args;
-       return 0;
-}
-
-#endif /* __FreeBSD__ || __NetBSD__ */
-
-struct fuse_session *fuse_lowlevel_new_compat25(struct fuse_args *args,
-                               const struct fuse_lowlevel_ops_compat25 *op,
-                               size_t op_size, void *userdata)
-{
-       if (fuse_sync_compat_args(args) == -1)
-               return NULL;
-
-       return fuse_lowlevel_new_common(args,
-                                       (const struct fuse_lowlevel_ops *) op,
-                                       op_size, userdata);
-}
index 57499ba625b5221d99950075ea31e6249b2f5577..93efd2952ef2b4a8365a99c43289d7e2b00c321a 100644 (file)
@@ -92,13 +92,6 @@ int fuse_opt_insert_arg(struct fuse_args *args, int pos, const char *arg)
        return fuse_opt_insert_arg_common(args, pos, arg);
 }
 
-int fuse_opt_insert_arg_compat(struct fuse_args *args, int pos,
-                              const char *arg);
-int fuse_opt_insert_arg_compat(struct fuse_args *args, int pos, const char *arg)
-{
-       return fuse_opt_insert_arg_common(args, pos, arg);
-}
-
 static int next_arg(struct fuse_opt_context *ctx, const char *opt)
 {
        if (ctx->argctr + 1 >= ctx->argc) {
index 0cbea79024c5fcb67d7d12d1843a5e364f80c74d..ccd11c3b38ab3be8b2bf6feab834a5fd76904f9a 100644 (file)
@@ -8,8 +8,6 @@
 
 #include "fuse_i.h"
 #include "fuse_misc.h"
-#include "fuse_common_compat.h"
-#include "fuse_lowlevel_compat.h"
 
 #include <stdio.h>
 #include <stdlib.h>
@@ -27,8 +25,6 @@ struct fuse_chan {
        size_t bufsize;
 
        void *data;
-
-       int compat;
 };
 
 struct fuse_session *fuse_session_new(struct fuse_session_ops *op, void *data)
@@ -144,9 +140,8 @@ void *fuse_session_data(struct fuse_session *se)
        return se->data;
 }
 
-static struct fuse_chan *fuse_chan_new_common(struct fuse_chan_ops *op, int fd,
-                                             size_t bufsize, void *data,
-                                             int compat)
+struct fuse_chan *fuse_chan_new(struct fuse_chan_ops *op, int fd,
+                               size_t bufsize, void *data)
 {
        struct fuse_chan *ch = (struct fuse_chan *) malloc(sizeof(*ch));
        if (ch == NULL) {
@@ -159,24 +154,10 @@ static struct fuse_chan *fuse_chan_new_common(struct fuse_chan_ops *op, int fd,
        ch->fd = fd;
        ch->bufsize = bufsize;
        ch->data = data;
-       ch->compat = compat;
 
        return ch;
 }
 
-struct fuse_chan *fuse_chan_new(struct fuse_chan_ops *op, int fd,
-                               size_t bufsize, void *data)
-{
-       return fuse_chan_new_common(op, fd, bufsize, data, 0);
-}
-
-struct fuse_chan *fuse_chan_new_compat24(struct fuse_chan_ops_compat24 *op,
-                                        int fd, size_t bufsize, void *data)
-{
-       return fuse_chan_new_common((struct fuse_chan_ops *) op, fd, bufsize,
-                                   data, 24);
-}
-
 int fuse_chan_fd(struct fuse_chan *ch)
 {
        return ch->fd;
@@ -200,19 +181,8 @@ struct fuse_session *fuse_chan_session(struct fuse_chan *ch)
 int fuse_chan_recv(struct fuse_chan **chp, char *buf, size_t size)
 {
        struct fuse_chan *ch = *chp;
-       if (ch->compat)
-               return ((struct fuse_chan_ops_compat24 *) &ch->op)
-                       ->receive(ch, buf, size);
-       else
-               return ch->op.receive(chp, buf, size);
-}
-
-int fuse_chan_receive(struct fuse_chan *ch, char *buf, size_t size)
-{
-       int res;
 
-       res = fuse_chan_recv(&ch, buf, size);
-       return res >= 0 ? res : (res != -EINTR && res != -EAGAIN) ? -1 : 0;
+       return ch->op.receive(chp, buf, size);
 }
 
 int fuse_chan_send(struct fuse_chan *ch, const struct iovec iov[], size_t count)
index f97a5c6218a006babfc7ca83793314f21460ab0d..ea2a1c87c8a8106c528bbbcda937441c55f7e0cb 100644 (file)
@@ -12,7 +12,6 @@ FUSE_3.0 {
                fuse_process_cmd;
                fuse_read_cmd;
                fuse_set_getcontext_func;
-               fuse_add_dirent;
                fuse_chan_bufsize;
                fuse_chan_data;
                fuse_chan_destroy;
@@ -20,8 +19,6 @@ FUSE_3.0 {
                fuse_chan_receive;
                fuse_chan_send;
                fuse_chan_session;
-               fuse_dirent_size;
-               fuse_kern_chan_new;
                fuse_lowlevel_is_lib_option;
                fuse_reply_attr;
                fuse_reply_buf;
index 98180be45fa657d77d3cb23f29df2de2eab79ebd..76cc25cadcd2680b43b217b328f8e437a213da66 100644 (file)
@@ -11,7 +11,6 @@
 #include "fuse_misc.h"
 #include "fuse_opt.h"
 #include "fuse_lowlevel.h"
-#include "fuse_common_compat.h"
 
 #include <stdio.h>
 #include <stdlib.h>
@@ -215,8 +214,7 @@ int fuse_daemonize(int foreground)
        return 0;
 }
 
-static struct fuse_chan *fuse_mount_common(const char *mountpoint,
-                                          struct fuse_args *args)
+struct fuse_chan *fuse_mount(const char *mountpoint, struct fuse_args *args)
 {
        struct fuse_chan *ch;
        int fd;
@@ -231,7 +229,7 @@ static struct fuse_chan *fuse_mount_common(const char *mountpoint,
                        close(fd);
        } while (fd >= 0 && fd <= 2);
 
-       fd = fuse_mount_compat25(mountpoint, args);
+       fd = fuse_kern_mount(mountpoint, args);
        if (fd == -1)
                return NULL;
 
@@ -242,12 +240,7 @@ static struct fuse_chan *fuse_mount_common(const char *mountpoint,
        return ch;
 }
 
-struct fuse_chan *fuse_mount(const char *mountpoint, struct fuse_args *args)
-{
-       return fuse_mount_common(mountpoint, args);
-}
-
-static void fuse_unmount_common(const char *mountpoint, struct fuse_chan *ch)
+void fuse_unmount(const char *mountpoint, struct fuse_chan *ch)
 {
        int fd = ch ? fuse_chan_fd(ch) : -1;
        fuse_kern_unmount(mountpoint, fd);
@@ -255,19 +248,9 @@ static void fuse_unmount_common(const char *mountpoint, struct fuse_chan *ch)
                fuse_chan_destroy(ch);
 }
 
-void fuse_unmount(const char *mountpoint, struct fuse_chan *ch)
-{
-       fuse_unmount_common(mountpoint, ch);
-}
-
-struct fuse *fuse_setup_common(int argc, char *argv[],
-                              const struct fuse_operations *op,
-                              size_t op_size,
-                              char **mountpoint,
-                              int *multithreaded,
-                              int *fd,
-                              void *user_data,
-                              int compat)
+struct fuse *fuse_setup(int argc, char *argv[],
+                       const struct fuse_operations *op, size_t op_size,
+                       char **mountpoint, int *multithreaded, void *user_data)
 {
        struct fuse_args args = FUSE_ARGS_INIT(argc, argv);
        struct fuse_chan *ch;
@@ -279,13 +262,13 @@ struct fuse *fuse_setup_common(int argc, char *argv[],
        if (res == -1)
                return NULL;
 
-       ch = fuse_mount_common(*mountpoint, &args);
+       ch = fuse_mount(*mountpoint, &args);
        if (!ch) {
                fuse_opt_free_args(&args);
                goto err_free;
        }
 
-       fuse = fuse_new_common(ch, &args, op, op_size, user_data, compat);
+       fuse = fuse_new(ch, &args, op, op_size, user_data);
        fuse_opt_free_args(&args);
        if (fuse == NULL)
                goto err_unmount;
@@ -298,13 +281,10 @@ struct fuse *fuse_setup_common(int argc, char *argv[],
        if (res == -1)
                goto err_unmount;
 
-       if (fd)
-               *fd = fuse_chan_fd(ch);
-
        return fuse;
 
 err_unmount:
-       fuse_unmount_common(*mountpoint, ch);
+       fuse_unmount(*mountpoint, ch);
        if (fuse)
                fuse_destroy(fuse);
 err_free:
@@ -312,40 +292,26 @@ err_free:
        return NULL;
 }
 
-struct fuse *fuse_setup(int argc, char *argv[],
-                       const struct fuse_operations *op, size_t op_size,
-                       char **mountpoint, int *multithreaded, void *user_data)
-{
-       return fuse_setup_common(argc, argv, op, op_size, mountpoint,
-                                multithreaded, NULL, user_data, 0);
-}
-
-static void fuse_teardown_common(struct fuse *fuse, char *mountpoint)
+void fuse_teardown(struct fuse *fuse, char *mountpoint)
 {
        struct fuse_session *se = fuse_get_session(fuse);
        struct fuse_chan *ch = fuse_session_next_chan(se, NULL);
        fuse_remove_signal_handlers(se);
-       fuse_unmount_common(mountpoint, ch);
+       fuse_unmount(mountpoint, ch);
        fuse_destroy(fuse);
        free(mountpoint);
 }
 
-void fuse_teardown(struct fuse *fuse, char *mountpoint)
-{
-       fuse_teardown_common(fuse, mountpoint);
-}
-
-static int fuse_main_common(int argc, char *argv[],
-                           const struct fuse_operations *op, size_t op_size,
-                           void *user_data, int compat)
+int fuse_main_real(int argc, char *argv[], const struct fuse_operations *op,
+                  size_t op_size, void *user_data)
 {
        struct fuse *fuse;
        char *mountpoint;
        int multithreaded;
        int res;
 
-       fuse = fuse_setup_common(argc, argv, op, op_size, &mountpoint,
-                                &multithreaded, NULL, user_data, compat);
+       fuse = fuse_setup(argc, argv, op, op_size, &mountpoint,
+                         &multithreaded, user_data);
        if (fuse == NULL)
                return 1;
 
@@ -354,19 +320,13 @@ static int fuse_main_common(int argc, char *argv[],
        else
                res = fuse_loop(fuse);
 
-       fuse_teardown_common(fuse, mountpoint);
+       fuse_teardown(fuse, mountpoint);
        if (res == -1)
                return 1;
 
        return 0;
 }
 
-int fuse_main_real(int argc, char *argv[], const struct fuse_operations *op,
-                  size_t op_size, void *user_data)
-{
-       return fuse_main_common(argc, argv, op, op_size, user_data, 0);
-}
-
 #undef fuse_main
 int fuse_main(void);
 int fuse_main(void)
@@ -380,88 +340,3 @@ int fuse_version(void)
        return FUSE_VERSION;
 }
 
-#include "fuse_compat.h"
-
-#if !defined(__FreeBSD__) && !defined(__NetBSD__)
-
-struct fuse *fuse_setup_compat22(int argc, char *argv[],
-                                const struct fuse_operations_compat22 *op,
-                                size_t op_size, char **mountpoint,
-                                int *multithreaded, int *fd)
-{
-       return fuse_setup_common(argc, argv, (struct fuse_operations *) op,
-                                op_size, mountpoint, multithreaded, fd, NULL,
-                                22);
-}
-
-struct fuse *fuse_setup_compat2(int argc, char *argv[],
-                               const struct fuse_operations_compat2 *op,
-                               char **mountpoint, int *multithreaded,
-                               int *fd)
-{
-       return fuse_setup_common(argc, argv, (struct fuse_operations *) op,
-                                sizeof(struct fuse_operations_compat2),
-                                mountpoint, multithreaded, fd, NULL, 21);
-}
-
-int fuse_main_real_compat22(int argc, char *argv[],
-                           const struct fuse_operations_compat22 *op,
-                           size_t op_size)
-{
-       return fuse_main_common(argc, argv, (struct fuse_operations *) op,
-                               op_size, NULL, 22);
-}
-
-void fuse_main_compat1(int argc, char *argv[],
-                      const struct fuse_operations_compat1 *op)
-{
-       fuse_main_common(argc, argv, (struct fuse_operations *) op,
-                        sizeof(struct fuse_operations_compat1), NULL, 11);
-}
-
-int fuse_main_compat2(int argc, char *argv[],
-                     const struct fuse_operations_compat2 *op)
-{
-       return fuse_main_common(argc, argv, (struct fuse_operations *) op,
-                               sizeof(struct fuse_operations_compat2), NULL,
-                               21);
-}
-
-int fuse_mount_compat1(const char *mountpoint, const char *args[])
-{
-       /* just ignore mount args for now */
-       (void) args;
-       return fuse_mount_compat22(mountpoint, NULL);
-}
-
-#endif /* __FreeBSD__ || __NetBSD__ */
-
-
-struct fuse *fuse_setup_compat25(int argc, char *argv[],
-                                const struct fuse_operations_compat25 *op,
-                                size_t op_size, char **mountpoint,
-                                int *multithreaded, int *fd)
-{
-       return fuse_setup_common(argc, argv, (struct fuse_operations *) op,
-                                op_size, mountpoint, multithreaded, fd, NULL,
-                                25);
-}
-
-int fuse_main_real_compat25(int argc, char *argv[],
-                           const struct fuse_operations_compat25 *op,
-                           size_t op_size)
-{
-       return fuse_main_common(argc, argv, (struct fuse_operations *) op,
-                               op_size, NULL, 25);
-}
-
-void fuse_teardown_compat22(struct fuse *fuse, int fd, char *mountpoint)
-{
-       (void) fd;
-       fuse_teardown_common(fuse, mountpoint);
-}
-
-int fuse_mount_compat25(const char *mountpoint, struct fuse_args *args)
-{
-       return fuse_kern_mount(mountpoint, args);
-}
index 125a0df2b1713d17a3bf8d58081c8e7d4598da24..6182a17410174ae1da65838f6502d4897ee895ad 100644 (file)
@@ -10,7 +10,6 @@
 #include "fuse_i.h"
 #include "fuse_misc.h"
 #include "fuse_opt.h"
-#include "fuse_common_compat.h"
 #include "mount_util.h"
 
 #include <stdio.h>
@@ -333,11 +332,6 @@ void fuse_kern_unmount(const char *mountpoint, int fd)
        waitpid(pid, NULL, 0);
 }
 
-void fuse_unmount_compat22(const char *mountpoint)
-{
-       fuse_kern_unmount(mountpoint, -1);
-}
-
 static int fuse_mount_fusermount(const char *mountpoint, struct mount_opts *mo,
                const char *opts, int quiet)
 {
@@ -408,15 +402,6 @@ static int fuse_mount_fusermount(const char *mountpoint, struct mount_opts *mo,
        return rv;
 }
 
-int fuse_mount_compat22(const char *mountpoint, const char *opts)
-{
-       struct mount_opts mo;
-       memset(&mo, 0, sizeof(mo));
-       mo.flags = MS_NOSUID | MS_NODEV;
-
-       return fuse_mount_fusermount(mountpoint, &mo, opts, 0);
-}
-
 static int fuse_mount_sys(const char *mnt, struct mount_opts *mo,
                          const char *mnt_opts)
 {