From f2732edc60c4d9f4866f6d258c1682b6ee34b4b7 Mon Sep 17 00:00:00 2001
From: thepeople <thepeople@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Date: Sun, 14 Mar 2010 02:01:14 +0000
Subject: find attached the announced patch for fuse. changes: - latest fuse
 2.8.3 - includes now the kernel module for kernel 2.4 - builds parallel -
 fuse-utils includes now ulockmgr_server

fuse24 should be deleted from trunk.

bud

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20190 3c298f89-4303-0410-b956-a3cf2f4a3e73
---
 package/fuse/patches/100-cross_compile.patch       |  14 -
 package/fuse/patches/102-no_depmod.patch           |  15 -
 package/fuse/patches/112-no_break_on_mknod.patch   |   7 +-
 package/fuse/patches/200-disable_compat.patch      | 613 ---------------------
 .../300-workaround-uclibc-pthread-breakage.patch   |   7 +-
 5 files changed, 8 insertions(+), 648 deletions(-)

(limited to 'package/fuse/patches')

diff --git a/package/fuse/patches/100-cross_compile.patch b/package/fuse/patches/100-cross_compile.patch
index 54a4d590c..e69de29bb 100644
--- a/package/fuse/patches/100-cross_compile.patch
+++ b/package/fuse/patches/100-cross_compile.patch
@@ -1,14 +0,0 @@
-diff -Nru fuse-2.7.3.orig/kernel/configure fuse-2.7.3/kernel/configure
---- fuse-2.7.3.orig/kernel/configure	2008-02-19 15:00:19.000000000 -0500
-+++ fuse-2.7.3/kernel/configure	2008-03-17 14:10:14.000000000 -0400
-@@ -1851,7 +1851,9 @@
- 
- 	{ echo "$as_me:$LINENO: checking kernel source version" >&5
- echo $ECHO_N "checking kernel source version... $ECHO_C" >&6; }
--	if test -r $kernelbuild/include/linux/version.h && fgrep -q UTS_RELEASE $kernelbuild/include/linux/version.h; then
-+	if [ -n "$kernsrcver" ]; then
-+		echo "$kernsrcver (cached)"
-+	elif test -r $kernelbuild/include/linux/version.h && fgrep -q UTS_RELEASE $kernelbuild/include/linux/version.h; then
- 		kernsrcver=`(echo "#include <linux/version.h>"; echo "kernsrcver=UTS_RELEASE") | cpp -I $kernelbuild/include | grep "^kernsrcver=" | cut -d \" -f 2`
- 	elif test -r $kernelbuild/include/linux/utsrelease.h && fgrep -q UTS_RELEASE $kernelbuild/include/linux/utsrelease.h; then
- 		kernsrcver=`(echo "#include <linux/utsrelease.h>"; echo "kernsrcver=UTS_RELEASE") | cpp -I $kernelbuild/include | grep "^kernsrcver=" | cut -d \" -f 2`
diff --git a/package/fuse/patches/102-no_depmod.patch b/package/fuse/patches/102-no_depmod.patch
index ee8694220..e69de29bb 100644
--- a/package/fuse/patches/102-no_depmod.patch
+++ b/package/fuse/patches/102-no_depmod.patch
@@ -1,15 +0,0 @@
-diff -Nru fuse-2.7.3.orig/kernel/Makefile.in fuse-2.7.3/kernel/Makefile.in
---- fuse-2.7.3.orig/kernel/Makefile.in	2006-12-09 13:51:13.000000000 -0500
-+++ fuse-2.7.3/kernel/Makefile.in	2008-03-17 14:12:32.000000000 -0400
-@@ -25,11 +25,9 @@
- install-y: all
- 	$(mkdir_p) $(DESTDIR)$(fusemoduledir)
- 	$(INSTALL) -m 644 $(fusemodule) $(DESTDIR)$(fusemoduledir)/$(fusemodule)
--	-/sbin/depmod -a
- 
- uninstall-y:
- 	rm -f $(DESTDIR)$(fusemoduledir)/$(fusemodule)
--	-/sbin/depmod -a
- 
- clean:
- 	-rm -f $(fusemodule) *.o .*.cmd *.mod.c *.ko *.s */*.o
diff --git a/package/fuse/patches/112-no_break_on_mknod.patch b/package/fuse/patches/112-no_break_on_mknod.patch
index 911d25c12..a992d8c8e 100644
--- a/package/fuse/patches/112-no_break_on_mknod.patch
+++ b/package/fuse/patches/112-no_break_on_mknod.patch
@@ -1,6 +1,7 @@
---- fuse-2.7.3.orig/util/Makefile.in	2008-02-19 15:00:55.000000000 -0500
-+++ fuse-2.7.3/util/Makefile.in	2008-03-17 14:14:10.000000000 -0400
-@@ -528,7 +528,7 @@
+diff -Nurp fuse-2.8.1.orig/util/Makefile.in fuse-2.8.1/util/Makefile.in
+--- fuse-2.8.1.orig/util/Makefile.in	2009-09-11 12:50:00.000000000 +0200
++++ fuse-2.8.1/util/Makefile.in	2009-12-17 01:05:15.720554385 +0100
+@@ -543,7 +543,7 @@ uninstall-am: uninstall-binPROGRAMS unin
  install-exec-hook:
  	-chown root $(DESTDIR)$(bindir)/fusermount
  	-chmod u+s $(DESTDIR)$(bindir)/fusermount
diff --git a/package/fuse/patches/200-disable_compat.patch b/package/fuse/patches/200-disable_compat.patch
index 12203d3d3..e69de29bb 100644
--- a/package/fuse/patches/200-disable_compat.patch
+++ b/package/fuse/patches/200-disable_compat.patch
@@ -1,613 +0,0 @@
-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;
- };
- 
-+#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,3 +25,4 @@
- int fuse_mount_compat1(const char *mountpoint, const char *args[]);
- 
- void fuse_unmount_compat22(const char *mountpoint);
-+#endif
-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"
- #include "fuse_misc.h"
--#include "fuse_common_compat.h"
--#include "fuse_compat.h"
- 
- #include <stdio.h>
- #include <string.h>
-@@ -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;
--}
--
--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__ */
--
--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__ */
--
- int fuse_fs_getattr(struct fuse_fs *fs, const char *path, struct stat *buf)
- {
- 	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;
- }
-@@ -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;
- }
-@@ -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;
- }
-@@ -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;
-@@ -3070,7 +2945,6 @@
- 	if (!fs)
- 		goto out_free;
- 
--	fs->compat = compat;
- 	f->fs = fs;
- 
- 	/* 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)
-@@ -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)
--{
--	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)
-@@ -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)
--{
--	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);
--}
--
--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)
--{
--	return fuse_new_common_compat25(fd, args, (struct fuse_operations *) op,
--					op_size, 25);
--}
--
--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"
- #include "fuse_misc.h"
--#include "fuse_common_compat.h"
--#include "fuse_lowlevel_compat.h"
- 
- #include <stdio.h>
- #include <stdlib.h>
-@@ -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)
--{
--	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;
--}
--
--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;
--}
--
--#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)
--{
--	if (fuse_sync_compat_args(args) == -1)
--		return NULL;
--
--	return fuse_lowlevel_new_common(args,
--					(const struct fuse_lowlevel_ops *) op,
--					op_size, userdata);
--}
--
--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>
-@@ -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;
- 
-@@ -353,100 +352,3 @@
- {
- 	return FUSE_VERSION;
- }
--
--#include "fuse_compat.h"
--
--#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)
--{
--	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);
--}
--
--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)
--{
--	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);
--}
--
--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>
-@@ -312,11 +311,6 @@
- 	waitpid(pid, NULL, 0);
- }
- 
--void fuse_unmount_compat22(const char *mountpoint)
--{
--	fuse_kern_unmount(mountpoint, -1);
--}
--
- static int fuse_mount_fusermount(const char *mountpoint, const char *opts,
- 				 int quiet)
- {
-@@ -380,11 +374,6 @@
- 	return rv;
- }
- 
--int fuse_mount_compat22(const char *mountpoint, const char *opts)
--{
--	return fuse_mount_fusermount(mountpoint, opts, 0);
--}
--
- static int fuse_mount_sys(const char *mnt, struct mount_opts *mo,
- 			  const char *mnt_opts)
- {
-@@ -587,6 +576,3 @@
- 	free(mo.mtab_opts);
- 	return res;
- }
--
--FUSE_SYMVER(".symver fuse_mount_compat22,fuse_mount@FUSE_2.2");
--FUSE_SYMVER(".symver fuse_unmount_compat22,fuse_unmount@FUSE_2.2");
diff --git a/package/fuse/patches/300-workaround-uclibc-pthread-breakage.patch b/package/fuse/patches/300-workaround-uclibc-pthread-breakage.patch
index cef5ce2db..dded4d850 100644
--- a/package/fuse/patches/300-workaround-uclibc-pthread-breakage.patch
+++ b/package/fuse/patches/300-workaround-uclibc-pthread-breakage.patch
@@ -1,6 +1,7 @@
---- fuse-2.7.3.orig/lib/helper.c	2008-11-22 03:25:11.000000000 +0100
-+++ fuse-2.7.3/lib/helper.c	2008-11-22 04:06:35.000000000 +0100
-@@ -178,13 +178,41 @@
+diff -Nurp fuse-2.8.1.orig/lib/helper.c fuse-2.8.1/lib/helper.c
+--- fuse-2.8.1.orig/lib/helper.c	2009-06-18 13:14:09.000000000 +0200
++++ fuse-2.8.1/lib/helper.c	2009-12-17 01:11:32.773356000 +0100
+@@ -180,13 +180,41 @@ err:
  int fuse_daemonize(int foreground)
  {
  	int res;
-- 
cgit v1.2.3