Hello community,
here is the log from the commit of package fuse
checked in at Tue Dec 19 16:59:24 CET 2006.
--------
--- fuse/fuse.changes 2006-10-23 00:03:20.000000000 +0200
+++ /mounts/work_src_done/STABLE/fuse/fuse.changes 2006-12-19 16:41:03.000000000 +0100
@@ -1,0 +2,7 @@
+Tue Dec 19 16:39:13 CET 2006 - tiwai@suse.de
+
+- updated to version 2.6.1:
+ * improved fusermout help texts
+ * fix automake problems
+
+-------------------------------------------------------------------
Old:
----
fuse-2.5.3.diff
fuse-2.6.0.tar.bz2
New:
----
fuse-2.6.1.tar.bz2
fuse-install-fix.diff
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ fuse.spec ++++++
--- /var/tmp/diff_new_pack.0YFsRU/_old 2006-12-19 16:58:39.000000000 +0100
+++ /var/tmp/diff_new_pack.0YFsRU/_new 2006-12-19 16:58:39.000000000 +0100
@@ -1,5 +1,5 @@
#
-# spec file for package fuse (Version 2.6.0)
+# spec file for package fuse (Version 2.6.1)
#
# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -12,12 +12,12 @@
Name: fuse
Summary: Userspace File System
-Version: 2.6.0
+Version: 2.6.1
Release: 1
-License: GNU General Public License (GPL) - all versions, GNU Library General Public License v. 2.0 and 2.1 (LGPL)
+License: GNU General Public License (GPL), Other License(s), see package
Group: System/Filesystems
Source: %{name}-%{version}.tar.bz2
-Patch: %{name}-2.5.3.diff
+Patch: fuse-install-fix.diff
URL: http://fuse.sf.net
BuildRoot: %{_tmppath}/%{name}-%{version}-build
PreReq: permissions
@@ -103,6 +103,10 @@
%{_libdir}/pkgconfig/*.pc
%changelog -n fuse
+* Tue Dec 19 2006 - tiwai@suse.de
+- updated to version 2.6.1:
+ * improved fusermout help texts
+ * fix automake problems
* Mon Oct 23 2006 - cthiel@suse.de
- update to version 2.6.0
* Improved read characteristics (asynchronous reads)
++++++ fuse-2.6.0.tar.bz2 -> fuse-2.6.1.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/fuse-2.6.0/ChangeLog new/fuse-2.6.1/ChangeLog
--- old/fuse-2.6.0/ChangeLog 2006-10-21 14:08:54.000000000 +0200
+++ new/fuse-2.6.1/ChangeLog 2006-12-01 13:48:11.000000000 +0100
@@ -1,3 +1,56 @@
+2006-12-01 Miklos Szeredi
+
+ * Released 2.6.1
+
+2006-11-30 Miklos Szeredi
+
+ * Fix API version 21 and 22 compatibility for fuse_teardown.
+ Reported by Bgs
+
+2006-11-29 Miklos Szeredi
+
+ * fusermount: Print a more helpful message in case the kernel
+ doesn't support the 'fuseblk' filesystem type. This has been
+ biting ntfs-3g users. Reported by Yura Pakhuchiy
+
+ * kernel: fix build problem for "make -C ...". Reported by
+ Stephen Bryant
+
+2006-11-19 Miklos Szeredi
+
+ * Fix bug in certain error paths of lookup routines. The request
+ object was reused for sending FORGET, which is illegal. This bug
+ could cause an Oops in linux-2.6.18 or in fuse-2.6.0, and might
+ silently corrupt memory in earlier versions. Report and test
+ program by Russ Cox
+
+2006-11-11 Miklos Szeredi
+
+ * Print an error if an incompatible kernel interface version is
+ detected in INIT. This will only show if filesystem is started
+ with -d or -f
+
+ * Fix order of fuse_destroy()/fuse_unmount() in error cleanup of
+ fuse_setup_common(). Reported by Szakacsits Szabolcs
+
+2006-11-06 Miklos Szeredi
+
+ * Fix recursive locking in fuse_create(). Thanks to Takuya
+ Ishibashi for the bug report
+
+2006-10-28 Miklos Szeredi
+
+ * Fix automake problem. Patch from Nix
+
+2006-10-26 Miklos Szeredi
+
+ * Fix mount.fuse to use /bin/sh instead of /bin/bash, which is not
+ always available on embedded systems. Patch from Paul Smith
+
+ * Fix util/Makefile.am, so that failure to run update-rc.d or
+ device creation doesn't cause make to fail. Reported by Paul
+ Smith
+
2006-10-21 Miklos Szeredi
* Released 2.6.0
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/fuse-2.6.0/README new/fuse-2.6.1/README
--- old/fuse-2.6.0/README 2006-09-30 17:41:46.000000000 +0200
+++ new/fuse-2.6.1/README 2006-10-26 13:08:18.000000000 +0200
@@ -126,6 +126,12 @@
Mount options
=============
+Most of the generic mount options described in 'man mount' are
+supported (ro, rw, suid, nosuid, dev, nodev, exec, noexec, atime,
+noatime, sync async, dirsync). Filesystems are mounted with
+'-onodev,nosuid' by default, which can only be overridden by a
+privileged user.
+
These are FUSE specific mount options that can be specified for all
filesystems:
@@ -264,3 +270,12 @@
Mount a filesystem backed by a block device. This is a privileged
option. The device must be specified with the 'fsname=NAME' option.
+
+
+Reporting bugs
+==============
+
+Please send bug reports to the
+mailing list.
+
+The list is open, you need not be subscribed to post.
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/fuse-2.6.0/aclocal.m4 new/fuse-2.6.1/aclocal.m4
--- old/fuse-2.6.0/aclocal.m4 2006-10-21 14:10:20.000000000 +0200
+++ new/fuse-2.6.1/aclocal.m4 2006-12-01 13:00:20.000000000 +0100
@@ -7943,6 +7943,34 @@
rm -f confinc confmf
])
+# Copyright (C) 1999, 2000, 2001, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 3
+
+# AM_PROG_CC_C_O
+# --------------
+# Like AC_PROG_CC_C_O, but changed for automake.
+AC_DEFUN([AM_PROG_CC_C_O],
+[AC_REQUIRE([AC_PROG_CC_C_O])dnl
+AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+# FIXME: we rely on the cache variable name because
+# there is no other way.
+set dummy $CC
+ac_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']`
+if eval "test \"`echo '$ac_cv_prog_cc_'${ac_cc}_c_o`\" != yes"; then
+ # Losing compiler, so override with the script.
+ # FIXME: It is wrong to rewrite CC.
+ # But if we don't then we get into trouble of one sort or another.
+ # A longer-term fix would be to have automake use am__CC in this case,
+ # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+ CC="$am_aux_dir/compile $CC"
+fi
+])
+
# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2005
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/fuse-2.6.0/configure new/fuse-2.6.1/configure
--- old/fuse-2.6.0/configure 2006-10-21 14:10:31.000000000 +0200
+++ new/fuse-2.6.1/configure 2006-12-01 13:00:35.000000000 +0100
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.60a for fuse 2.6.0.
+# Generated by GNU Autoconf 2.60a for fuse 2.6.1.
#
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
@@ -706,8 +706,8 @@
# Identity of this package.
PACKAGE_NAME='fuse'
PACKAGE_TARNAME='fuse'
-PACKAGE_VERSION='2.6.0'
-PACKAGE_STRING='fuse 2.6.0'
+PACKAGE_VERSION='2.6.1'
+PACKAGE_STRING='fuse 2.6.1'
PACKAGE_BUGREPORT=''
# Factoring default headers for most tests.
@@ -1370,7 +1370,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures fuse 2.6.0 to adapt to many kinds of systems.
+\`configure' configures fuse 2.6.1 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1441,7 +1441,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of fuse 2.6.0:";;
+ short | recursive ) echo "Configuration of fuse 2.6.1:";;
esac
cat <<\_ACEOF
@@ -1541,7 +1541,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-fuse configure 2.6.0
+fuse configure 2.6.1
generated by GNU Autoconf 2.60a
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1555,7 +1555,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by fuse $as_me 2.6.0, which was
+It was created by fuse $as_me 2.6.1, which was
generated by GNU Autoconf 2.60a. Invocation command line was
$ $0 $@
@@ -2351,7 +2351,7 @@
# Define the identity of the package.
PACKAGE='fuse'
- VERSION='2.6.0'
+ VERSION='2.6.1'
cat >>confdefs.h <<_ACEOF
@@ -11190,6 +11190,131 @@
fi
+if test "x$CC" != xcc; then
+ { echo "$as_me:$LINENO: checking whether $CC and cc understand -c and -o together" >&5
+echo $ECHO_N "checking whether $CC and cc understand -c and -o together... $ECHO_C" >&6; }
+else
+ { echo "$as_me:$LINENO: checking whether cc understands -c and -o together" >&5
+echo $ECHO_N "checking whether cc understands -c and -o together... $ECHO_C" >&6; }
+fi
+set dummy $CC; ac_cc=`echo $2 |
+ sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
+if { as_var=ac_cv_prog_cc_${ac_cc}_c_o; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+# Make sure it works both with $CC and with simple cc.
+# We do the test twice because some compilers refuse to overwrite an
+# existing .o file with -o, though they will create one.
+ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
+rm -f conftest2.*
+if { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ test -f conftest2.$ac_objext && { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); };
+then
+ eval ac_cv_prog_cc_${ac_cc}_c_o=yes
+ if test "x$CC" != xcc; then
+ # Test first that cc exists at all.
+ if { ac_try='cc -c conftest.$ac_ext >&5'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
+ rm -f conftest2.*
+ if { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ test -f conftest2.$ac_objext && { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); };
+ then
+ # cc works too.
+ :
+ else
+ # cc exists but doesn't like -o.
+ eval ac_cv_prog_cc_${ac_cc}_c_o=no
+ fi
+ fi
+ fi
+else
+ eval ac_cv_prog_cc_${ac_cc}_c_o=no
+fi
+rm -f core conftest*
+
+fi
+if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then
+ { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+
+cat >>confdefs.h <<\_ACEOF
+#define NO_MINUS_C_MINUS_O 1
+_ACEOF
+
+fi
+
+# FIXME: we rely on the cache variable name because
+# there is no other way.
+set dummy $CC
+ac_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
+if eval "test \"`echo '$ac_cv_prog_cc_'${ac_cc}_c_o`\" != yes"; then
+ # Losing compiler, so override with the script.
+ # FIXME: It is wrong to rewrite CC.
+ # But if we don't then we get into trouble of one sort or another.
+ # A longer-term fix would be to have automake use am__CC in this case,
+ # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+ CC="$am_aux_dir/compile $CC"
+fi
+
# compatibility for automake < 1.8
if test -z "$mkdir_p"; then
@@ -12463,7 +12588,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by fuse $as_me 2.6.0, which was
+This file was extended by fuse $as_me 2.6.1, which was
generated by GNU Autoconf 2.60a. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -12516,7 +12641,7 @@
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
-fuse config.status 2.6.0
+fuse config.status 2.6.1
configured by $0, generated by GNU Autoconf 2.60a,
with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/fuse-2.6.0/configure.in new/fuse-2.6.1/configure.in
--- old/fuse-2.6.0/configure.in 2006-10-21 14:08:12.000000000 +0200
+++ new/fuse-2.6.1/configure.in 2006-12-01 12:58:57.000000000 +0100
@@ -1,10 +1,11 @@
-AC_INIT(fuse, 2.6.0)
+AC_INIT(fuse, 2.6.1)
AC_CANONICAL_TARGET
AM_INIT_AUTOMAKE
AM_CONFIG_HEADER(include/config.h)
AC_PROG_LIBTOOL
AC_PROG_CC
+AM_PROG_CC_C_O
# compatibility for automake < 1.8
if test -z "$mkdir_p"; then
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/fuse-2.6.0/include/config.h.in new/fuse-2.6.1/include/config.h.in
--- old/fuse-2.6.0/include/config.h.in 2006-10-21 14:10:40.000000000 +0200
+++ new/fuse-2.6.1/include/config.h.in 2006-12-01 13:00:45.000000000 +0100
@@ -58,6 +58,9 @@
*/
#undef LT_OBJDIR
+/* Define to 1 if your C compiler doesn't accept -c and -o together. */
+#undef NO_MINUS_C_MINUS_O
+
/* Name of package */
#undef PACKAGE
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/fuse-2.6.0/include/fuse.h new/fuse-2.6.1/include/fuse.h
--- old/fuse-2.6.0/include/fuse.h 2006-10-10 13:07:21.000000000 +0200
+++ new/fuse-2.6.1/include/fuse.h 2006-11-30 12:53:18.000000000 +0100
@@ -495,7 +495,10 @@
/**
* Destroy the FUSE handle.
*
- * The filesystem is not unmounted.
+ * The communication channel attached to the handle is also destroyed.
+ *
+ * NOTE: This function does not unmount the filesystem. If this is
+ * needed, call fuse_unmount() before calling this function.
*
* @param f the FUSE handle
*/
@@ -628,6 +631,7 @@
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_compat25
# define fuse_operations fuse_operations_compat22
# define fuse_file_info fuse_file_info_compat
# elif FUSE_USE_VERSION == 24
@@ -642,7 +646,7 @@
# define fuse_main fuse_main_compat2
# define fuse_new fuse_new_compat2
# define __fuse_setup fuse_setup_compat2
-# define __fuse_teardown fuse_teardown
+# define __fuse_teardown fuse_teardown_compat25
# define __fuse_exited fuse_exited
# define __fuse_set_getcontext_func fuse_set_getcontext_func
# else
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/fuse-2.6.0/include/fuse_lowlevel.h new/fuse-2.6.1/include/fuse_lowlevel.h
--- old/fuse-2.6.0/include/fuse_lowlevel.h 2006-09-30 21:38:17.000000000 +0200
+++ new/fuse-2.6.1/include/fuse_lowlevel.h 2006-11-18 19:23:55.000000000 +0100
@@ -14,8 +14,9 @@
* =========================================================== */
/* IMPORTANT: you should define FUSE_USE_VERSION before including this
- header. To use the newest API define it to 25 (recommended for any
- new application), to use the old API define it to 24 (default) */
+ header. To use the newest API define it to 26 (recommended for any
+ new application), to use the old API define it to 24 (default) or
+ 25 */
#ifndef FUSE_USE_VERSION
#define FUSE_USE_VERSION 24
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/fuse-2.6.0/kernel/Makefile.in new/fuse-2.6.1/kernel/Makefile.in
--- old/fuse-2.6.0/kernel/Makefile.in 2006-09-30 13:52:54.000000000 +0200
+++ new/fuse-2.6.1/kernel/Makefile.in 2006-11-29 17:16:40.000000000 +0100
@@ -50,4 +50,4 @@
fuse-objs := dev.o dir.o file.o inode.o control.o
all-spec:
- $(MAKE) -C @kernelsrc@ SUBDIRS=$(PWD) @KERNELMAKE_PARAMS@ modules
+ $(MAKE) -C @kernelsrc@ SUBDIRS=`pwd` @KERNELMAKE_PARAMS@ modules
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/fuse-2.6.0/kernel/configure new/fuse-2.6.1/kernel/configure
--- old/fuse-2.6.0/kernel/configure 2006-10-21 14:10:09.000000000 +0200
+++ new/fuse-2.6.1/kernel/configure 2006-12-01 13:00:09.000000000 +0100
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.60a for fuse-kernel 2.6.0.
+# Generated by GNU Autoconf 2.60a for fuse-kernel 2.6.1.
#
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
@@ -557,8 +557,8 @@
# Identity of this package.
PACKAGE_NAME='fuse-kernel'
PACKAGE_TARNAME='fuse-kernel'
-PACKAGE_VERSION='2.6.0'
-PACKAGE_STRING='fuse-kernel 2.6.0'
+PACKAGE_VERSION='2.6.1'
+PACKAGE_STRING='fuse-kernel 2.6.1'
PACKAGE_BUGREPORT=''
ac_subst_vars='SHELL
@@ -1115,7 +1115,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures fuse-kernel 2.6.0 to adapt to many kinds of systems.
+\`configure' configures fuse-kernel 2.6.1 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1176,7 +1176,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of fuse-kernel 2.6.0:";;
+ short | recursive ) echo "Configuration of fuse-kernel 2.6.1:";;
esac
cat <<\_ACEOF
@@ -1251,7 +1251,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-fuse-kernel configure 2.6.0
+fuse-kernel configure 2.6.1
generated by GNU Autoconf 2.60a
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1265,7 +1265,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by fuse-kernel $as_me 2.6.0, which was
+It was created by fuse-kernel $as_me 2.6.1, which was
generated by GNU Autoconf 2.60a. Invocation command line was
$ $0 $@
@@ -2403,7 +2403,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by fuse-kernel $as_me 2.6.0, which was
+This file was extended by fuse-kernel $as_me 2.6.1, which was
generated by GNU Autoconf 2.60a. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -2452,7 +2452,7 @@
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
-fuse-kernel config.status 2.6.0
+fuse-kernel config.status 2.6.1
configured by $0, generated by GNU Autoconf 2.60a,
with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/fuse-2.6.0/kernel/configure.ac new/fuse-2.6.1/kernel/configure.ac
--- old/fuse-2.6.0/kernel/configure.ac 2006-10-21 14:08:20.000000000 +0200
+++ new/fuse-2.6.1/kernel/configure.ac 2006-12-01 12:59:05.000000000 +0100
@@ -1,4 +1,4 @@
-AC_INIT(fuse-kernel, 2.6.0)
+AC_INIT(fuse-kernel, 2.6.1)
AC_CONFIG_HEADERS([config.h])
AC_PROG_INSTALL
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/fuse-2.6.0/kernel/dir.c new/fuse-2.6.1/kernel/dir.c
--- old/fuse-2.6.0/kernel/dir.c 2006-10-17 10:15:02.000000000 +0200
+++ new/fuse-2.6.1/kernel/dir.c 2006-11-21 17:14:26.000000000 +0100
@@ -138,6 +138,7 @@
struct fuse_entry_out outarg;
struct fuse_conn *fc;
struct fuse_req *req;
+ struct fuse_req *forget_req;
struct dentry *parent;
/* For negative dentries, always do a fresh lookup */
@@ -149,25 +150,33 @@
if (IS_ERR(req))
return 0;
+ forget_req = fuse_get_req(fc);
+ if (IS_ERR(forget_req)) {
+ fuse_put_request(fc, req);
+ return 0;
+ }
+
parent = dget_parent(entry);
fuse_lookup_init(req, parent->d_inode, entry, &outarg);
request_send(fc, req);
dput(parent);
err = req->out.h.error;
+ fuse_put_request(fc, req);
/* Zero nodeid is same as -ENOENT */
if (!err && !outarg.nodeid)
err = -ENOENT;
if (!err) {
struct fuse_inode *fi = get_fuse_inode(inode);
if (outarg.nodeid != get_node_id(inode)) {
- fuse_send_forget(fc, req, outarg.nodeid, 1);
+ fuse_send_forget(fc, forget_req,
+ outarg.nodeid, 1);
return 0;
}
spin_lock(&fc->lock);
fi->nlookup ++;
spin_unlock(&fc->lock);
}
- fuse_put_request(fc, req);
+ fuse_put_request(fc, forget_req);
if (err || (outarg.attr.mode ^ inode->i_mode) & S_IFMT)
return 0;
@@ -220,6 +229,7 @@
struct dentry *newent;
struct fuse_conn *fc = get_fuse_conn(dir);
struct fuse_req *req;
+ struct fuse_req *forget_req;
if (entry->d_name.len > FUSE_NAME_MAX)
return ERR_PTR(-ENAMETOOLONG);
@@ -228,9 +238,16 @@
if (IS_ERR(req))
return ERR_PTR(PTR_ERR(req));
+ forget_req = fuse_get_req(fc);
+ if (IS_ERR(forget_req)) {
+ fuse_put_request(fc, req);
+ return ERR_PTR(PTR_ERR(forget_req));
+ }
+
fuse_lookup_init(req, dir, entry, &outarg);
request_send(fc, req);
err = req->out.h.error;
+ fuse_put_request(fc, req);
/* Zero nodeid is same as -ENOENT, but with valid timeout */
if (!err && outarg.nodeid &&
(invalid_nodeid(outarg.nodeid) || !valid_mode(outarg.attr.mode)))
@@ -239,11 +256,11 @@
inode = fuse_iget(dir->i_sb, outarg.nodeid, outarg.generation,
&outarg.attr);
if (!inode) {
- fuse_send_forget(fc, req, outarg.nodeid, 1);
+ fuse_send_forget(fc, forget_req, outarg.nodeid, 1);
return ERR_PTR(-ENOMEM);
}
}
- fuse_put_request(fc, req);
+ fuse_put_request(fc, forget_req);
if (err && err != -ENOENT)
return ERR_PTR(err);
@@ -390,6 +407,13 @@
struct fuse_entry_out outarg;
struct inode *inode;
int err;
+ struct fuse_req *forget_req;
+
+ forget_req = fuse_get_req(fc);
+ if (IS_ERR(forget_req)) {
+ fuse_put_request(fc, req);
+ return PTR_ERR(forget_req);
+ }
req->in.h.nodeid = get_node_id(dir);
req->out.numargs = 1;
@@ -397,24 +421,24 @@
req->out.args[0].value = &outarg;
request_send(fc, req);
err = req->out.h.error;
- if (err) {
- fuse_put_request(fc, req);
- return err;
- }
+ fuse_put_request(fc, req);
+ if (err)
+ goto out_put_forget_req;
+
err = -EIO;
if (invalid_nodeid(outarg.nodeid))
- goto out_put_request;
+ goto out_put_forget_req;
if ((outarg.attr.mode ^ mode) & S_IFMT)
- goto out_put_request;
+ goto out_put_forget_req;
inode = fuse_iget(dir->i_sb, outarg.nodeid, outarg.generation,
&outarg.attr);
if (!inode) {
- fuse_send_forget(fc, req, outarg.nodeid, 1);
+ fuse_send_forget(fc, forget_req, outarg.nodeid, 1);
return -ENOMEM;
}
- fuse_put_request(fc, req);
+ fuse_put_request(fc, forget_req);
if (S_ISDIR(inode->i_mode)) {
struct dentry *alias;
@@ -436,8 +460,8 @@
fuse_invalidate_attr(dir);
return 0;
- out_put_request:
- fuse_put_request(fc, req);
+ out_put_forget_req:
+ fuse_put_request(fc, forget_req);
return err;
}
@@ -1062,6 +1086,9 @@
memset(&inarg, 0, sizeof(inarg));
iattr_to_fattr(attr, &inarg);
+ /* Defend against future expansion of ATTR_FILE use */
+ if (S_ISDIR(inode->i_mode))
+ inarg.valid &= ~FATTR_FH;
req->in.h.opcode = FUSE_SETATTR;
req->in.h.nodeid = get_node_id(inode);
req->in.numargs = 1;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/fuse-2.6.0/lib/Makefile.am new/fuse-2.6.1/lib/Makefile.am
--- old/fuse-2.6.0/lib/Makefile.am 2006-10-01 13:29:24.000000000 +0200
+++ new/fuse-2.6.1/lib/Makefile.am 2006-12-01 12:59:21.000000000 +0100
@@ -26,7 +26,7 @@
helper.c \
$(mount_source)
-libfuse_la_LDFLAGS = $(libfuse_libs) -version-number 2:6:0 \
+libfuse_la_LDFLAGS = $(libfuse_libs) -version-number 2:6:1 \
-Wl,--version-script,$(srcdir)/fuse_versionscript
libulockmgr_la_SOURCES = ulockmgr.c
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/fuse-2.6.0/lib/Makefile.in new/fuse-2.6.1/lib/Makefile.in
--- old/fuse-2.6.0/lib/Makefile.in 2006-10-21 14:10:53.000000000 +0200
+++ new/fuse-2.6.1/lib/Makefile.in 2006-12-01 13:00:50.000000000 +0100
@@ -219,7 +219,7 @@
helper.c \
$(mount_source)
-libfuse_la_LDFLAGS = $(libfuse_libs) -version-number 2:6:0 \
+libfuse_la_LDFLAGS = $(libfuse_libs) -version-number 2:6:1 \
-Wl,--version-script,$(srcdir)/fuse_versionscript
libulockmgr_la_SOURCES = ulockmgr.c
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/fuse-2.6.0/lib/fuse.c new/fuse-2.6.1/lib/fuse.c
--- old/fuse-2.6.0/lib/fuse.c 2006-10-13 21:26:19.000000000 +0200
+++ new/fuse-2.6.1/lib/fuse.c 2006-11-06 12:53:12.000000000 +0100
@@ -1442,12 +1442,13 @@
/* The open syscall was interrupted, so it must be cancelled */
if(f->op.release)
fuse_do_release(f, req, path, fi);
+ pthread_mutex_unlock(&f->lock);
forget_node(f, e.ino, 1);
} else {
struct node *node = get_node(f, e.ino);
node->open_count ++;
+ pthread_mutex_unlock(&f->lock);
}
- pthread_mutex_unlock(&f->lock);
} else
reply_err(req, err);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/fuse-2.6.0/lib/fuse_lowlevel.c new/fuse-2.6.1/lib/fuse_lowlevel.c
--- old/fuse-2.6.0/lib/fuse_lowlevel.c 2006-10-10 17:45:24.000000000 +0200
+++ new/fuse-2.6.1/lib/fuse_lowlevel.c 2006-11-07 17:43:45.000000000 +0100
@@ -952,6 +952,13 @@
f->conn.proto_major = arg->major;
f->conn.proto_minor = arg->minor;
+ if (arg->major < 7) {
+ fprintf(stderr, "fuse: unsupported protocol version: %u.%u\n",
+ arg->major, arg->minor);
+ fuse_reply_err(req, EPROTO);
+ return;
+ }
+
if (arg->major > 7 || (arg->major == 7 && arg->minor >= 6)) {
if (f->conn.async_read)
f->conn.async_read = arg->flags & FUSE_ASYNC_READ;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/fuse-2.6.0/lib/helper.c new/fuse-2.6.1/lib/helper.c
--- old/fuse-2.6.0/lib/helper.c 2006-06-06 11:47:02.000000000 +0200
+++ new/fuse-2.6.1/lib/helper.c 2006-11-11 10:39:25.000000000 +0100
@@ -255,21 +255,21 @@
res = fuse_daemonize(foreground);
if (res == -1)
- goto err_destroy;
+ goto err_unmount;
res = fuse_set_signal_handlers(fuse_get_session(fuse));
if (res == -1)
- goto err_destroy;
+ goto err_unmount;
if (fd)
*fd = fuse_chan_fd(ch);
return fuse;
- err_destroy:
- fuse_destroy(fuse);
err_unmount:
fuse_unmount_common(*mountpoint, ch);
+ if (fuse)
+ fuse_destroy(fuse);
err_free:
free(*mountpoint);
return NULL;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/fuse-2.6.0/util/Makefile.am new/fuse-2.6.1/util/Makefile.am
--- old/fuse-2.6.0/util/Makefile.am 2006-10-07 18:43:50.000000000 +0200
+++ new/fuse-2.6.1/util/Makefile.am 2006-10-28 09:37:12.000000000 +0200
@@ -14,8 +14,8 @@
-chmod u+s $(DESTDIR)$(bindir)/fusermount
@if test ! -e $(DESTDIR)/dev/fuse; then \
$(mkdir_p) $(DESTDIR)/dev; \
- echo "mknod $(DESTDIR)/dev/fuse -m 0666 c 10 229"; \
- mknod $(DESTDIR)/dev/fuse -m 0666 c 10 229; \
+ echo "mknod $(DESTDIR)/dev/fuse -m 0666 c 10 229 || true"; \
+ mknod $(DESTDIR)/dev/fuse -m 0666 c 10 229 || true; \
fi
EXTRA_DIST = mount.fuse udev.rules init_script
@@ -30,8 +30,8 @@
$(mkdir_p) $(DESTDIR)$(INIT_D_PATH)
$(INSTALL_PROGRAM) $(srcdir)/init_script $(DESTDIR)$(INIT_D_PATH)/fuse
@if test -x /usr/sbin/update-rc.d; then \
- echo "/usr/sbin/update-rc.d fuse start 34 S . start 41 0 6 ."; \
- /usr/sbin/update-rc.d fuse start 34 S . start 41 0 6 .; \
+ echo "/usr/sbin/update-rc.d fuse start 34 S . start 41 0 6 . || true"; \
+ /usr/sbin/update-rc.d fuse start 34 S . start 41 0 6 . || true; \
fi
install-data-local:
@@ -43,6 +43,6 @@
rm -f $(DESTDIR)$(UDEV_RULES_PATH)/99-fuse.rules
rm -f $(DESTDIR)$(INIT_D_PATH)/fuse
@if test -x /usr/sbin/update-rc.d; then \
- echo "/usr/sbin/update-rc.d fuse remove"; \
- /usr/sbin/update-rc.d fuse remove; \
+ echo "/usr/sbin/update-rc.d fuse remove || true"; \
+ /usr/sbin/update-rc.d fuse remove || true; \
fi
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/fuse-2.6.0/util/Makefile.in new/fuse-2.6.1/util/Makefile.in
--- old/fuse-2.6.0/util/Makefile.in 2006-10-21 14:10:53.000000000 +0200
+++ new/fuse-2.6.1/util/Makefile.in 2006-12-01 13:00:51.000000000 +0100
@@ -491,8 +491,8 @@
-chmod u+s $(DESTDIR)$(bindir)/fusermount
@if test ! -e $(DESTDIR)/dev/fuse; then \
$(mkdir_p) $(DESTDIR)/dev; \
- echo "mknod $(DESTDIR)/dev/fuse -m 0666 c 10 229"; \
- mknod $(DESTDIR)/dev/fuse -m 0666 c 10 229; \
+ echo "mknod $(DESTDIR)/dev/fuse -m 0666 c 10 229 || true"; \
+ mknod $(DESTDIR)/dev/fuse -m 0666 c 10 229 || true; \
fi
install-exec-local:
@@ -501,8 +501,8 @@
$(mkdir_p) $(DESTDIR)$(INIT_D_PATH)
$(INSTALL_PROGRAM) $(srcdir)/init_script $(DESTDIR)$(INIT_D_PATH)/fuse
@if test -x /usr/sbin/update-rc.d; then \
- echo "/usr/sbin/update-rc.d fuse start 34 S . start 41 0 6 ."; \
- /usr/sbin/update-rc.d fuse start 34 S . start 41 0 6 .; \
+ echo "/usr/sbin/update-rc.d fuse start 34 S . start 41 0 6 . || true"; \
+ /usr/sbin/update-rc.d fuse start 34 S . start 41 0 6 . || true; \
fi
install-data-local:
@@ -514,8 +514,8 @@
rm -f $(DESTDIR)$(UDEV_RULES_PATH)/99-fuse.rules
rm -f $(DESTDIR)$(INIT_D_PATH)/fuse
@if test -x /usr/sbin/update-rc.d; then \
- echo "/usr/sbin/update-rc.d fuse remove"; \
- /usr/sbin/update-rc.d fuse remove; \
+ echo "/usr/sbin/update-rc.d fuse remove || true"; \
+ /usr/sbin/update-rc.d fuse remove || true; \
fi
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/fuse-2.6.0/util/fusermount.c new/fuse-2.6.1/util/fusermount.c
--- old/fuse-2.6.0/util/fusermount.c 2006-10-18 10:09:46.000000000 +0200
+++ new/fuse-2.6.1/util/fusermount.c 2006-11-29 16:56:01.000000000 +0100
@@ -575,6 +575,23 @@
return 0;
}
+static int has_fuseblk(void)
+{
+ char buf[256];
+ FILE *f = fopen("/proc/filesystems", "r");
+ if (!f)
+ return 1;
+
+ while (fgets(buf, sizeof(buf), f))
+ if (strcmp(buf, "fuseblk\n") == 0) {
+ fclose(f);
+ return 1;
+ }
+
+ fclose(f);
+ return 0;
+}
+
static int do_mount(const char *mnt, const char **type, mode_t rootmode,
int fd, const char *opts, const char *dev, char **fsnamep,
char **mnt_optsp, off_t rootsize)
@@ -686,7 +703,11 @@
res = mount(fsname, mnt, *type, flags, optbuf);
}
if (res == -1) {
- fprintf(stderr, "%s: mount failed: %s\n", progname, strerror(errno));
+ int errno_save = errno;
+ if (blkdev && errno == ENODEV && !has_fuseblk())
+ fprintf(stderr, "%s: 'fuseblk' support missing; try the kernel module from fuse-2.6.0 or later\n", progname);
+ else
+ fprintf(stderr, "%s: mount failed: %s\n", progname, strerror(errno_save));
goto err;
} else {
*fsnamep = fsname;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/fuse-2.6.0/util/mount.fuse new/fuse-2.6.1/util/mount.fuse
--- old/fuse-2.6.0/util/mount.fuse 2006-09-07 08:05:09.000000000 +0200
+++ new/fuse-2.6.1/util/mount.fuse 2006-10-26 20:57:21.000000000 +0200
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/sh
#
# FUSE mount helper
# Petr Klima
@@ -28,15 +28,14 @@
[ "$#" -ge 2 ] || die "${USAGE}"
-FSTYPE=${1%%\#*} # for now i have to be same as FUSE mount binary
- # should be configurable
+# for now i have to be same as FUSE mount binary
+# should be configurable
+eval `echo "$1" | sed -n 's,\(^[^#][^#]*\)\(#\(.*\)\)*,FSTYPE="\1" MOUNTPATH="\3",p'`
export PATH
FSBIN=`which ${FSTYPE} 2>/dev/null` \
|| die "Can not find FUSE mount binary for FS ${FSTYPE}" 1
-MOUNTPATH=${1#*#}
-
# was there an # in $1
[ "$1" = "$MOUNTPATH" ] && MOUNTPATH=""
@@ -46,8 +45,8 @@
shift
shift
-ignore_opts="(user|nouser|users|auto|noauto|_netdev)"
+ignore_opts='\(user\|nouser\|users\|auto\|noauto\|_netdev\)'
-OPTIONS=`echo $@ | sed -r "s/(,${ignore_opts}|${ignore_opts},)//g"`
+OPTIONS=`echo $@ | sed "s/,${ignore_opts}\|${ignore_opts},//g"`
${FSTYPE} ${MOUNTPATH} ${MOUNTPOINT} ${OPTIONS}
++++++ fuse-install-fix.diff ++++++
--- util/Makefile.am-dist 2006-12-19 16:35:24.000000000 +0100
+++ util/Makefile.am 2006-12-19 16:36:05.000000000 +0100
@@ -9,14 +9,14 @@
ulockmgr_server_CPPFLAGS = -D_FILE_OFFSET_BITS=64 -D_REENTRANT
ulockmgr_server_LDFLAGS = -pthread
-install-exec-hook:
- -chown root $(DESTDIR)$(bindir)/fusermount
- -chmod u+s $(DESTDIR)$(bindir)/fusermount
- @if test ! -e $(DESTDIR)/dev/fuse; then \
- $(mkdir_p) $(DESTDIR)/dev; \
- echo "mknod $(DESTDIR)/dev/fuse -m 0666 c 10 229 || true"; \
- mknod $(DESTDIR)/dev/fuse -m 0666 c 10 229 || true; \
- fi
+#install-exec-hook:
+# -chown root $(DESTDIR)$(bindir)/fusermount
+# -chmod u+s $(DESTDIR)$(bindir)/fusermount
+# @if test ! -e $(DESTDIR)/dev/fuse; then \
+# $(mkdir_p) $(DESTDIR)/dev; \
+# echo "mknod $(DESTDIR)/dev/fuse -m 0666 c 10 229 || true"; \
+# mknod $(DESTDIR)/dev/fuse -m 0666 c 10 229 || true; \
+# fi
EXTRA_DIST = mount.fuse udev.rules init_script
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org