summaryrefslogtreecommitdiffstats
path: root/package/fuse/patches/200-disable_compat.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/fuse/patches/200-disable_compat.patch')
-rw-r--r--package/fuse/patches/200-disable_compat.patch692
1 files changed, 348 insertions, 344 deletions
diff --git a/package/fuse/patches/200-disable_compat.patch b/package/fuse/patches/200-disable_compat.patch
index d4bb97860..12203d3d3 100644
--- a/package/fuse/patches/200-disable_compat.patch
+++ b/package/fuse/patches/200-disable_compat.patch
@@ -1,25 +1,22 @@
-Index: fuse-2.7.1/include/fuse_common_compat.h
-===================================================================
---- fuse-2.7.1.orig/include/fuse_common_compat.h 2007-10-20 17:13:51.409738304 +0200
-+++ fuse-2.7.1/include/fuse_common_compat.h 2007-10-20 17:14:26.323727941 +0200
+diff -Nru fuse-2.7.3.orig/include/fuse_common_compat.h fuse-2.7.3/include/fuse_common_compat.h
+--- fuse-2.7.3.orig/include/fuse_common_compat.h 2008-02-19 14:51:23.000000000 -0500
++++ fuse-2.7.3/include/fuse_common_compat.h 2008-03-17 14:55:01.000000000 -0400
@@ -17,6 +17,7 @@
- unsigned int keep_cache : 1;
+ unsigned int keep_cache : 1;
};
+#ifndef DISABLE_COMPAT
int fuse_mount_compat25(const char *mountpoint, struct fuse_args *args);
int fuse_mount_compat22(const char *mountpoint, const char *opts);
-@@ -24,4 +25,4 @@
+@@ -24,3 +25,4 @@
int fuse_mount_compat1(const char *mountpoint, const char *args[]);
void fuse_unmount_compat22(const char *mountpoint);
--
+#endif
-Index: fuse-2.7.1/lib/fuse.c
-===================================================================
---- fuse-2.7.1.orig/lib/fuse.c 2007-10-20 17:13:51.417738760 +0200
-+++ fuse-2.7.1/lib/fuse.c 2007-10-20 17:26:30.657005340 +0200
+diff -Nru fuse-2.7.3.orig/lib/fuse.c fuse-2.7.3/lib/fuse.c
+--- fuse-2.7.3.orig/lib/fuse.c 2008-02-19 14:51:25.000000000 -0500
++++ fuse-2.7.3/lib/fuse.c 2008-03-17 15:04:54.000000000 -0400
@@ -14,8 +14,6 @@
#include "fuse_lowlevel.h"
#include "fuse_opt.h"
@@ -29,284 +26,288 @@ Index: fuse-2.7.1/lib/fuse.c
#include <stdio.h>
#include <string.h>
-@@ -621,127 +619,6 @@
- fuse_do_prepare_interrupt(req, d);
+@@ -626,129 +624,6 @@
+ fuse_do_prepare_interrupt(req, d);
}
-#ifndef __FreeBSD__
-
-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;
+- 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)
+- 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);
+- 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;
-- }
+- 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)
+- 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;
+- 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;
+- 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;
+- 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__ */
-
-static inline int fuse_compat_open(struct fuse_fs *fs, char *path,
-- struct fuse_file_info *fi)
+- struct fuse_file_info *fi)
-{
-- return fs->op.open(path, 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)
+- struct fuse_file_info *fi)
-{
-- return fs->op.release(path, 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)
+- struct fuse_file_info *fi)
-{
-- return fs->op.opendir(path, fi);
+- return fs->op.opendir(path, fi);
-}
-
-static inline int fuse_compat_statfs(struct fuse_fs *fs, const char *path,
-- struct statvfs *buf)
+- struct statvfs *buf)
-{
-- return fs->op.statfs(fs->compat == 25 ? "/" : path, buf);
+- return fs->op.statfs(fs->compat == 25 ? "/" : path, buf);
-}
-
-#endif /* __FreeBSD__ */
-
int fuse_fs_getattr(struct fuse_fs *fs, const char *path, struct stat *buf)
{
- fuse_get_context()->private_data = fs->user_data;
-@@ -814,7 +691,7 @@
+ fuse_get_context()->private_data = fs->user_data;
+@@ -821,7 +696,7 @@
{
- fuse_get_context()->private_data = fs->user_data;
- if (fs->op.release)
-- return fuse_compat_release(fs, path, fi);
-+ return fs->op.release(path, fi);
- else
- return 0;
+ fuse_get_context()->private_data = fs->user_data;
+ if (fs->op.release)
+- return fuse_compat_release(fs, path, fi);
++ return fs->op.release(path, fi);
+ else
+ return 0;
}
-@@ -824,7 +701,7 @@
+@@ -831,7 +706,7 @@
{
- fuse_get_context()->private_data = fs->user_data;
- if (fs->op.opendir)
-- return fuse_compat_opendir(fs, path, fi);
-+ return fs->op.opendir(path, fi);
- else
- return 0;
+ fuse_get_context()->private_data = fs->user_data;
+ if (fs->op.opendir)
+- return fuse_compat_opendir(fs, path, fi);
++ return fs->op.opendir(path, fi);
+ else
+ return 0;
}
-@@ -834,7 +711,7 @@
+@@ -841,7 +716,7 @@
{
- fuse_get_context()->private_data = fs->user_data;
- if (fs->op.open)
-- return fuse_compat_open(fs, path, fi);
-+ return fs->op.open(path, fi);
- else
- return 0;
+ fuse_get_context()->private_data = fs->user_data;
+ if (fs->op.open)
+- return fuse_compat_open(fs, path, fi);
++ return fs->op.open(path, fi);
+ else
+ return 0;
}
-@@ -893,7 +770,7 @@
+@@ -900,7 +775,7 @@
{
- fuse_get_context()->private_data = fs->user_data;
- if (fs->op.statfs)
-- return fuse_compat_statfs(fs, path, buf);
-+ return fs->op.statfs(path, buf);
- else {
- buf->f_namemax = 255;
- buf->f_bsize = 512;
-@@ -3037,7 +2914,6 @@
- if (!fs)
- goto out_free;
+ fuse_get_context()->private_data = fs->user_data;
+ if (fs->op.statfs)
+- return fuse_compat_statfs(fs, path, buf);
++ return fs->op.statfs(path, buf);
+ else {
+ buf->f_namemax = 255;
+ buf->f_bsize = 512;
+@@ -3070,7 +2945,6 @@
+ if (!fs)
+ goto out_free;
-- fs->compat = compat;
- f->fs = fs;
+- fs->compat = compat;
+ f->fs = fs;
- /* Oh f**k, this is ugly! */
-@@ -3079,11 +2955,6 @@
- f->conf.readdir_ino = 1;
+ /* Oh f**k, this is ugly! */
+@@ -3114,11 +2988,6 @@
+ 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);
- if (f->se == NULL) {
- if (f->conf.help)
-@@ -3217,19 +3088,6 @@
- fuse_delete_context_key();
+- 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);
+ if (f->se == NULL) {
+ if (f->conf.help)
+@@ -3254,19 +3123,6 @@
+ 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)
+- const struct fuse_operations *op,
+- size_t op_size, int compat)
-{
-- struct fuse *f = NULL;
-- struct fuse_chan *ch = fuse_kern_chan_new(fd);
+- 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);
+- if (ch)
+- f = fuse_new_common(ch, args, op, op_size, NULL, compat);
-
-- return f;
+- return f;
-}
-
/* called with fuse_context_lock held or during initialization (before
main() has been called) */
void fuse_register_module(struct fuse_module *mod)
-@@ -3242,69 +3100,3 @@
- fuse_modules = mod;
+@@ -3278,72 +3134,3 @@
+ mod->next = fuse_modules;
+ fuse_modules = mod;
}
-
+-
-#ifndef __FreeBSD__
-
-static struct fuse *fuse_new_common_compat(int fd, const char *opts,
-- const struct fuse_operations *op,
-- size_t op_size, int compat)
+- const struct fuse_operations *op,
+- size_t op_size, int compat)
-{
-- struct fuse *f;
-- struct fuse_args args = FUSE_ARGS_INIT(0, NULL);
+- 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);
+- 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;
+- return f;
-}
-
-struct fuse *fuse_new_compat22(int fd, const char *opts,
-- const struct fuse_operations_compat22 *op,
-- size_t op_size)
+- const struct fuse_operations_compat22 *op,
+- size_t op_size)
-{
-- return fuse_new_common_compat(fd, opts, (struct fuse_operations *) op,
-- op_size, 22);
+- 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)
+- const struct fuse_operations_compat2 *op)
-{
-- return fuse_new_common_compat(fd, opts, (struct fuse_operations *) op,
-- sizeof(struct fuse_operations_compat2), 21);
+- 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 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);
+- 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);
-}
-
--__asm__(".symver fuse_exited,__fuse_exited@");
--__asm__(".symver fuse_process_cmd,__fuse_process_cmd@");
--__asm__(".symver fuse_read_cmd,__fuse_read_cmd@");
--__asm__(".symver fuse_set_getcontext_func,__fuse_set_getcontext_func@");
--__asm__(".symver fuse_new_compat2,fuse_new@");
--__asm__(".symver fuse_new_compat22,fuse_new@FUSE_2.2");
+-FUSE_SYMVER(".symver fuse_exited,__fuse_exited@");
+-FUSE_SYMVER(".symver fuse_process_cmd,__fuse_process_cmd@");
+-FUSE_SYMVER(".symver fuse_read_cmd,__fuse_read_cmd@");
+-FUSE_SYMVER(".symver fuse_set_getcontext_func,__fuse_set_getcontext_func@");
+-FUSE_SYMVER(".symver fuse_new_compat2,fuse_new@");
+-FUSE_SYMVER(".symver fuse_new_compat22,fuse_new@FUSE_2.2");
-
-#endif /* __FreeBSD__ */
-
-struct fuse *fuse_new_compat25(int fd, struct fuse_args *args,
-- const struct fuse_operations_compat25 *op,
-- size_t op_size)
+- const struct fuse_operations_compat25 *op,
+- size_t op_size)
-{
-- return fuse_new_common_compat25(fd, args, (struct fuse_operations *) op,
-- op_size, 25);
+- return fuse_new_common_compat25(fd, args, (struct fuse_operations *) op,
+- op_size, 25);
-}
-
--__asm__(".symver fuse_new_compat25,fuse_new@FUSE_2.5");
-Index: fuse-2.7.1/lib/fuse_lowlevel.c
-===================================================================
---- fuse-2.7.1.orig/lib/fuse_lowlevel.c 2007-10-20 17:13:51.425739218 +0200
-+++ fuse-2.7.1/lib/fuse_lowlevel.c 2007-10-20 17:22:46.396225455 +0200
+-FUSE_SYMVER(".symver fuse_new_compat25,fuse_new@FUSE_2.5");
+diff -Nru fuse-2.7.3.orig/lib/fuse_lowlevel.c fuse-2.7.3/lib/fuse_lowlevel.c
+--- fuse-2.7.3.orig/lib/fuse_lowlevel.c 2008-02-19 14:51:26.000000000 -0500
++++ fuse-2.7.3/lib/fuse_lowlevel.c 2008-03-17 15:07:40.000000000 -0400
@@ -11,8 +11,6 @@
#include "fuse_opt.h"
#include "fuse_i.h"
@@ -316,160 +317,160 @@ Index: fuse-2.7.1/lib/fuse_lowlevel.c
#include <stdio.h>
#include <stdlib.h>
-@@ -1310,129 +1308,3 @@
- return fuse_lowlevel_new_common(args, op, op_size, userdata);
+@@ -1319,130 +1317,3 @@
+ {
+ return fuse_lowlevel_new_common(args, op, op_size, userdata);
}
-
+-
-
-#ifndef __FreeBSD__
-
-static void fill_open_compat(struct fuse_open_out *arg,
-- const struct fuse_file_info_compat *f)
+- 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;
+- 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)
+- 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;
+- 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)
+- const struct fuse_file_info_compat *f)
-{
-- struct fuse_open_out arg;
+- struct fuse_open_out arg;
-
-- memset(&arg, 0, sizeof(arg));
-- fill_open_compat(&arg, f);
-- return send_reply_ok(req, &arg, sizeof(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;
+- struct statvfs newbuf;
-
-- memset(&newbuf, 0, sizeof(newbuf));
-- convert_statfs_compat(stbuf, &newbuf);
+- memset(&newbuf, 0, sizeof(newbuf));
+- convert_statfs_compat(stbuf, &newbuf);
-
-- return fuse_reply_statfs(req, &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)
+- 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);
+- 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);
+- 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;
+- return se;
-}
-
-struct fuse_ll_compat_conf {
-- unsigned max_read;
-- int set_max_read;
+- 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
+- { "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;
+- 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;
+- 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 (fuse_opt_insert_arg(args, 1, "-osync_read"))
+- return -1;
-
-- if (conf.set_max_read) {
-- char tmpbuf[64];
+- 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;
+- sprintf(tmpbuf, "-omax_readahead=%u", conf.max_read);
+- if (fuse_opt_insert_arg(args, 1, tmpbuf) == -1)
+- return -1;
+- }
+- return 0;
-}
-
--__asm__(".symver fuse_reply_statfs_compat,fuse_reply_statfs@FUSE_2.4");
--__asm__(".symver fuse_reply_open_compat,fuse_reply_open@FUSE_2.4");
--__asm__(".symver fuse_lowlevel_new_compat,fuse_lowlevel_new@FUSE_2.4");
+-FUSE_SYMVER(".symver fuse_reply_statfs_compat,fuse_reply_statfs@FUSE_2.4");
+-FUSE_SYMVER(".symver fuse_reply_open_compat,fuse_reply_open@FUSE_2.4");
+-FUSE_SYMVER(".symver fuse_lowlevel_new_compat,fuse_lowlevel_new@FUSE_2.4");
-
-#else /* __FreeBSD__ */
-
-int fuse_sync_compat_args(struct fuse_args *args)
-{
-- (void) args;
-- return 0;
+- (void) args;
+- return 0;
-}
-
-#endif /* __FreeBSD__ */
-
-struct fuse_session *fuse_lowlevel_new_compat25(struct fuse_args *args,
-- const struct fuse_lowlevel_ops_compat25 *op,
-- size_t op_size, void *userdata)
+- const struct fuse_lowlevel_ops_compat25 *op,
+- size_t op_size, void *userdata)
-{
-- if (fuse_sync_compat_args(args) == -1)
-- return NULL;
+- if (fuse_sync_compat_args(args) == -1)
+- return NULL;
-
-- return fuse_lowlevel_new_common(args,
-- (const struct fuse_lowlevel_ops *) op,
-- op_size, userdata);
+- return fuse_lowlevel_new_common(args,
+- (const struct fuse_lowlevel_ops *) op,
+- op_size, userdata);
-}
-
--__asm__(".symver fuse_lowlevel_new_compat25,fuse_lowlevel_new@FUSE_2.5");
-Index: fuse-2.7.1/lib/helper.c
-===================================================================
---- fuse-2.7.1.orig/lib/helper.c 2007-10-20 17:13:51.433739673 +0200
-+++ fuse-2.7.1/lib/helper.c 2007-10-20 17:21:32.508014797 +0200
-@@ -10,7 +10,6 @@
- #include "fuse_i.h"
+-FUSE_SYMVER(".symver fuse_lowlevel_new_compat25,fuse_lowlevel_new@FUSE_2.5");
+diff -Nru fuse-2.7.3.orig/lib/helper.c fuse-2.7.3/lib/helper.c
+--- fuse-2.7.3.orig/lib/helper.c 2008-02-19 14:51:27.000000000 -0500
++++ fuse-2.7.3/lib/helper.c 2008-03-17 15:10:18.000000000 -0400
+@@ -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>
-@@ -202,7 +201,7 @@
- close(fd);
- } while (fd >= 0 && fd <= 2);
+@@ -206,7 +205,7 @@
+ close(fd);
+ } while (fd >= 0 && fd <= 2);
-- fd = fuse_mount_compat25(mountpoint, args);
-+ fd = fuse_kern_mount(mountpoint, args);
- if (fd == -1)
- return NULL;
+- fd = fuse_mount_compat25(mountpoint, args);
++ fd = fuse_kern_mount(mountpoint, args);
+ if (fd == -1)
+ return NULL;
-@@ -349,97 +348,3 @@
+@@ -353,100 +352,3 @@
{
- return FUSE_VERSION;
+ return FUSE_VERSION;
}
-
-#include "fuse_compat.h"
@@ -477,133 +478,136 @@ Index: fuse-2.7.1/lib/helper.c
-#ifndef __FreeBSD__
-
-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)
+- 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);
+- 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)
+- 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);
+- 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)
+- const struct fuse_operations_compat22 *op,
+- size_t op_size)
-{
-- return fuse_main_common(argc, argv, (struct fuse_operations *) op, op_size,
-- NULL, 22);
+- 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)
+- const struct fuse_operations_compat1 *op)
-{
-- fuse_main_common(argc, argv, (struct fuse_operations *) op,
-- sizeof(struct fuse_operations_compat1), NULL, 11);
+- 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)
+- const struct fuse_operations_compat2 *op)
-{
-- return fuse_main_common(argc, argv, (struct fuse_operations *) op,
-- sizeof(struct fuse_operations_compat2), NULL, 21);
+- 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);
+- /* just ignore mount args for now */
+- (void) args;
+- return fuse_mount_compat22(mountpoint, NULL);
-}
-
--__asm__(".symver fuse_setup_compat2,__fuse_setup@");
--__asm__(".symver fuse_setup_compat22,fuse_setup@FUSE_2.2");
--__asm__(".symver fuse_teardown,__fuse_teardown@");
--__asm__(".symver fuse_main_compat2,fuse_main@");
--__asm__(".symver fuse_main_real_compat22,fuse_main_real@FUSE_2.2");
+-FUSE_SYMVER(".symver fuse_setup_compat2,__fuse_setup@");
+-FUSE_SYMVER(".symver fuse_setup_compat22,fuse_setup@FUSE_2.2");
+-FUSE_SYMVER(".symver fuse_teardown,__fuse_teardown@");
+-FUSE_SYMVER(".symver fuse_main_compat2,fuse_main@");
+-FUSE_SYMVER(".symver fuse_main_real_compat22,fuse_main_real@FUSE_2.2");
-
-#endif /* __FreeBSD__ */
-
-
-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)
+- 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);
+- 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)
+- const struct fuse_operations_compat25 *op,
+- size_t op_size)
-{
-- return fuse_main_common(argc, argv, (struct fuse_operations *) op, op_size,
-- NULL, 25);
+- 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);
+- (void) fd;
+- fuse_teardown_common(fuse, mountpoint);
-}
-
-int fuse_mount_compat25(const char *mountpoint, struct fuse_args *args)
-{
-- return fuse_kern_mount(mountpoint, args);
+- return fuse_kern_mount(mountpoint, args);
-}
-
--__asm__(".symver fuse_setup_compat25,fuse_setup@FUSE_2.5");
--__asm__(".symver fuse_teardown_compat22,fuse_teardown@FUSE_2.2");
--__asm__(".symver fuse_main_real_compat25,fuse_main_real@FUSE_2.5");
--__asm__(".symver fuse_mount_compat25,fuse_mount@FUSE_2.5");
-Index: fuse-2.7.1/lib/mount.c
-===================================================================
---- fuse-2.7.1.orig/lib/mount.c 2007-10-20 17:13:51.441740129 +0200
-+++ fuse-2.7.1/lib/mount.c 2007-10-20 17:22:07.209992349 +0200
-@@ -9,7 +9,6 @@
- #include "config.h"
+-FUSE_SYMVER(".symver fuse_setup_compat25,fuse_setup@FUSE_2.5");
+-FUSE_SYMVER(".symver fuse_teardown_compat22,fuse_teardown@FUSE_2.2");
+-FUSE_SYMVER(".symver fuse_main_real_compat25,fuse_main_real@FUSE_2.5");
+-FUSE_SYMVER(".symver fuse_mount_compat25,fuse_mount@FUSE_2.5");
+diff -Nru fuse-2.7.3.orig/lib/mount.c fuse-2.7.3/lib/mount.c
+--- fuse-2.7.3.orig/lib/mount.c 2008-02-19 14:51:27.000000000 -0500
++++ fuse-2.7.3/lib/mount.c 2008-03-17 15:11:02.000000000 -0400
+@@ -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>
-@@ -308,11 +307,6 @@
- waitpid(pid, NULL, 0);
+@@ -312,11 +311,6 @@
+ waitpid(pid, NULL, 0);
}
-void fuse_unmount_compat22(const char *mountpoint)
-{
-- fuse_kern_unmount(mountpoint, -1);
+- fuse_kern_unmount(mountpoint, -1);
-}
-
static int fuse_mount_fusermount(const char *mountpoint, const char *opts,
- int quiet)
+ int quiet)
{
-@@ -376,11 +370,6 @@
- return rv;
+@@ -380,11 +374,6 @@
+ return rv;
}
-int fuse_mount_compat22(const char *mountpoint, const char *opts)
-{
-- return fuse_mount_fusermount(mountpoint, opts, 0);
+- return fuse_mount_fusermount(mountpoint, opts, 0);
-}
-
static int fuse_mount_sys(const char *mnt, struct mount_opts *mo,
- const char *mnt_opts)
+ const char *mnt_opts)
{
-@@ -579,5 +568,3 @@
- return res;
+@@ -587,6 +576,3 @@
+ free(mo.mtab_opts);
+ return res;
}
-
--__asm__(".symver fuse_mount_compat22,fuse_mount@FUSE_2.2");
--__asm__(".symver fuse_unmount_compat22,fuse_unmount@FUSE_2.2");
+-
+-FUSE_SYMVER(".symver fuse_mount_compat22,fuse_mount@FUSE_2.2");
+-FUSE_SYMVER(".symver fuse_unmount_compat22,fuse_unmount@FUSE_2.2");