Hello community,
here is the log from the commit of package fuse
checked in at Mon Feb 5 23:35:53 CET 2007.
--------
--- fuse/fuse.changes 2007-01-30 15:58:34.000000000 +0100
+++ /mounts/work_src_done/STABLE/fuse/fuse.changes 2007-02-05 18:45:00.047720000 +0100
@@ -1,0 +2,7 @@
+Mon Feb 5 18:25:50 CET 2007 - mszeredi@suse.cz
+
+- updated to version 2.6.3:
+ * fix regression causing an abort during heavy filesystem use
+ * update author's email
+
+-------------------------------------------------------------------
Old:
----
fuse-2.6.2.tar.bz2
New:
----
fuse-2.6.3.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ fuse.spec ++++++
--- /var/tmp/diff_new_pack.k16675/_old 2007-02-05 23:35:14.000000000 +0100
+++ /var/tmp/diff_new_pack.k16675/_new 2007-02-05 23:35:14.000000000 +0100
@@ -1,5 +1,5 @@
#
-# spec file for package fuse (Version 2.6.2)
+# spec file for package fuse (Version 2.6.3)
#
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -12,7 +12,7 @@
Name: fuse
Summary: Userspace File System
-Version: 2.6.2
+Version: 2.6.3
Release: 1
License: GNU General Public License (GPL), GNU Library General Public License v. 2.0 and 2.1 (LGPL)
Group: System/Filesystems
@@ -103,6 +103,10 @@
%{_libdir}/pkgconfig/*.pc
%changelog -n fuse
+* Mon Feb 05 2007 - mszeredi@suse.cz
+- updated to version 2.6.3:
+ * fix regression causing an abort during heavy filesystem use
+ * update author's email
* Tue Jan 30 2007 - tiwai@suse.de
- updated to version 2.6.2:
* fix 64bit compile problems
++++++ fuse-2.6.2.tar.bz2 -> fuse-2.6.3.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/fuse-2.6.2/ChangeLog new/fuse-2.6.3/ChangeLog
--- old/fuse-2.6.2/ChangeLog 2007-01-30 14:42:10.000000000 +0100
+++ new/fuse-2.6.3/ChangeLog 2007-02-04 14:46:11.000000000 +0100
@@ -1,3 +1,23 @@
+2007-02-04 Miklos Szeredi
+
+ * Released 2.6.3
+
+2007-02-04 Miklos Szeredi
+
+ * Compile fuseblk for kernels which don't have an option to turn
+ off the block layer (CONFIG_BLOCK). Reported by Szakacsits
+ Szabolcs
+
+2007-02-02 Miklos Szeredi
+
+ * Fix regression caused by "Fix possible double lock in certain
+ cases if request is interrupted" on 2007-01-19. Reported by José
+ Antonio Sánchez
+
+ * kernel: make it compile on "strange" kernels which have emulated
+ mutexes via but no i_mutex. Reported by Tomasz
+ Mateja
+
2007-01-30 Miklos Szeredi
* Released 2.6.2
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/fuse-2.6.2/configure new/fuse-2.6.3/configure
--- old/fuse-2.6.2/configure 2007-01-30 14:48:19.000000000 +0100
+++ new/fuse-2.6.3/configure 2007-02-04 15:30:48.000000000 +0100
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61 for fuse 2.6.2.
+# Generated by GNU Autoconf 2.61 for fuse 2.6.3.
#
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
@@ -721,8 +721,8 @@
# Identity of this package.
PACKAGE_NAME='fuse'
PACKAGE_TARNAME='fuse'
-PACKAGE_VERSION='2.6.2'
-PACKAGE_STRING='fuse 2.6.2'
+PACKAGE_VERSION='2.6.3'
+PACKAGE_STRING='fuse 2.6.3'
PACKAGE_BUGREPORT=''
# Factoring default headers for most tests.
@@ -1386,7 +1386,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.2 to adapt to many kinds of systems.
+\`configure' configures fuse 2.6.3 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1457,7 +1457,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of fuse 2.6.2:";;
+ short | recursive ) echo "Configuration of fuse 2.6.3:";;
esac
cat <<\_ACEOF
@@ -1558,7 +1558,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-fuse configure 2.6.2
+fuse configure 2.6.3
generated by GNU Autoconf 2.61
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1572,7 +1572,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.2, which was
+It was created by fuse $as_me 2.6.3, which was
generated by GNU Autoconf 2.61. Invocation command line was
$ $0 $@
@@ -2368,7 +2368,7 @@
# Define the identity of the package.
PACKAGE='fuse'
- VERSION='2.6.2'
+ VERSION='2.6.3'
cat >>confdefs.h <<_ACEOF
@@ -12053,7 +12053,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.2, which was
+This file was extended by fuse $as_me 2.6.3, which was
generated by GNU Autoconf 2.61. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -12106,7 +12106,7 @@
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
-fuse config.status 2.6.2
+fuse config.status 2.6.3
configured by $0, generated by GNU Autoconf 2.61,
with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/fuse-2.6.2/configure.in new/fuse-2.6.3/configure.in
--- old/fuse-2.6.2/configure.in 2007-01-28 18:35:24.000000000 +0100
+++ new/fuse-2.6.3/configure.in 2007-02-04 01:10:25.000000000 +0100
@@ -1,4 +1,4 @@
-AC_INIT(fuse, 2.6.2)
+AC_INIT(fuse, 2.6.3)
AC_CANONICAL_TARGET
AM_INIT_AUTOMAKE
AM_CONFIG_HEADER(include/config.h)
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/fuse-2.6.2/include/fuse.h new/fuse-2.6.3/include/fuse.h
--- old/fuse-2.6.2/include/fuse.h 2006-12-09 19:52:22.000000000 +0100
+++ new/fuse-2.6.3/include/fuse.h 2007-01-31 21:15:26.000000000 +0100
@@ -172,7 +172,6 @@
int (*write) (const char *, const char *, size_t, off_t,
struct fuse_file_info *);
- /** Just a placeholder, don't set */
/** Get file system statistics
*
* The 'f_frsize', 'f_favail', 'f_fsid' and 'f_flag' fields are ignored
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/fuse-2.6.2/kernel/config.h.in new/fuse-2.6.3/kernel/config.h.in
--- old/fuse-2.6.2/kernel/config.h.in 2007-01-30 14:43:15.000000000 +0100
+++ new/fuse-2.6.3/kernel/config.h.in 2007-02-04 15:30:27.000000000 +0100
@@ -1,11 +1,17 @@
/* config.h.in. Generated from configure.ac by autoheader. */
+/* kernel has BLOCK option */
+#undef HAVE_CONFIG_BLOCK
+
/* fs_subsys is defined */
#undef HAVE_FS_SUBSYS
/* inode has i_blksize field */
#undef HAVE_I_BLKSIZE
+/* inode has i_mutex field */
+#undef HAVE_I_MUTEX
+
/* inode has i_private field */
#undef HAVE_I_PRIVATE
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/fuse-2.6.2/kernel/configure new/fuse-2.6.3/kernel/configure
--- old/fuse-2.6.2/kernel/configure 2007-01-30 14:47:57.000000000 +0100
+++ new/fuse-2.6.3/kernel/configure 2007-02-04 15:30:25.000000000 +0100
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61 for fuse-kernel 2.6.2.
+# Generated by GNU Autoconf 2.61 for fuse-kernel 2.6.3.
#
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
@@ -572,8 +572,8 @@
# Identity of this package.
PACKAGE_NAME='fuse-kernel'
PACKAGE_TARNAME='fuse-kernel'
-PACKAGE_VERSION='2.6.2'
-PACKAGE_STRING='fuse-kernel 2.6.2'
+PACKAGE_VERSION='2.6.3'
+PACKAGE_STRING='fuse-kernel 2.6.3'
PACKAGE_BUGREPORT=''
ac_subst_vars='SHELL
@@ -1130,7 +1130,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.2 to adapt to many kinds of systems.
+\`configure' configures fuse-kernel 2.6.3 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1191,7 +1191,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of fuse-kernel 2.6.2:";;
+ short | recursive ) echo "Configuration of fuse-kernel 2.6.3:";;
esac
cat <<\_ACEOF
@@ -1266,7 +1266,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-fuse-kernel configure 2.6.2
+fuse-kernel configure 2.6.3
generated by GNU Autoconf 2.61
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1280,7 +1280,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.2, which was
+It was created by fuse-kernel $as_me 2.6.3, which was
generated by GNU Autoconf 2.61. Invocation command line was
$ $0 $@
@@ -2012,6 +2012,20 @@
{ echo "$as_me:$LINENO: result: no" >&5
echo "${ECHO_T}no" >&6; }
fi
+ { echo "$as_me:$LINENO: checking if inode has i_mutex field " >&5
+echo $ECHO_N "checking if inode has i_mutex field ... $ECHO_C" >&6; }
+ if egrep -qw "i_mutex" $kernelsrc/include/linux/fs.h; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_I_MUTEX 1
+_ACEOF
+
+ { 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; }
+ fi
{ echo "$as_me:$LINENO: checking if kernel has mutex.h " >&5
echo $ECHO_N "checking if kernel has mutex.h ... $ECHO_C" >&6; }
if test -f $kernelsrc/include/linux/mutex.h; then
@@ -2026,6 +2040,20 @@
{ echo "$as_me:$LINENO: result: no" >&5
echo "${ECHO_T}no" >&6; }
fi
+ { echo "$as_me:$LINENO: checking if kernel has BLOCK option " >&5
+echo $ECHO_N "checking if kernel has BLOCK option ... $ECHO_C" >&6; }
+ if test -f $kernelsrc/block/Kconfig && egrep -wq "config *BLOCK" $kernelsrc/block/Kconfig; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_CONFIG_BLOCK 1
+_ACEOF
+
+ { 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; }
+ fi
isuml=no
KERNELMAKE_PARAMS=
@@ -2445,7 +2473,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.2, which was
+This file was extended by fuse-kernel $as_me 2.6.3, which was
generated by GNU Autoconf 2.61. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -2494,7 +2522,7 @@
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
-fuse-kernel config.status 2.6.2
+fuse-kernel config.status 2.6.3
configured by $0, generated by GNU Autoconf 2.61,
with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/fuse-2.6.2/kernel/configure.ac new/fuse-2.6.3/kernel/configure.ac
--- old/fuse-2.6.2/kernel/configure.ac 2007-01-28 23:15:18.000000000 +0100
+++ new/fuse-2.6.3/kernel/configure.ac 2007-02-04 14:25:22.000000000 +0100
@@ -1,4 +1,4 @@
-AC_INIT(fuse-kernel, 2.6.2)
+AC_INIT(fuse-kernel, 2.6.3)
AC_CONFIG_HEADERS([config.h])
AC_PROG_INSTALL
@@ -179,6 +179,13 @@
else
AC_MSG_RESULT([no])
fi
+ AC_MSG_CHECKING([if inode has i_mutex field ])
+ if egrep -qw "i_mutex" $kernelsrc/include/linux/fs.h; then
+ AC_DEFINE(HAVE_I_MUTEX, 1, [inode has i_mutex field])
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ fi
AC_MSG_CHECKING([if kernel has mutex.h ])
if test -f $kernelsrc/include/linux/mutex.h; then
AC_DEFINE(HAVE_MUTEX_H, 1, [kernel has mutex.h])
@@ -186,6 +193,13 @@
else
AC_MSG_RESULT([no])
fi
+ AC_MSG_CHECKING([if kernel has BLOCK option ])
+ if test -f $kernelsrc/block/Kconfig && egrep -wq "config *BLOCK" $kernelsrc/block/Kconfig; then
+ AC_DEFINE(HAVE_CONFIG_BLOCK, 1, [kernel has BLOCK option])
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ fi
isuml=no
KERNELMAKE_PARAMS=
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/fuse-2.6.2/kernel/fuse_i.h new/fuse-2.6.3/kernel/fuse_i.h
--- old/fuse-2.6.2/kernel/fuse_i.h 2007-01-28 23:23:29.000000000 +0100
+++ new/fuse-2.6.3/kernel/fuse_i.h 2007-02-04 14:27:57.000000000 +0100
@@ -65,12 +65,17 @@
#define mutex_lock(m) down(m)
#define mutex_unlock(m) up(m)
#define mutex semaphore
+#endif
+#ifndef HAVE_I_MUTEX
#define i_mutex i_sem /* Hack for struct inode */
#endif
#ifndef KERNEL_2_6_19_PLUS
#define clear_nlink(inode) (inode)->i_nlink = 0
#define inc_nlink(inode) (inode)->i_nlink++
#endif
+#ifndef HAVE_CONFIG_BLOCK
+#define CONFIG_BLOCK
+#endif
/** Max number of pages that can be used in a single read request */
#define FUSE_MAX_PAGES_PER_REQ 32
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/fuse-2.6.2/lib/fuse.c new/fuse-2.6.3/lib/fuse.c
--- old/fuse-2.6.2/lib/fuse.c 2007-01-19 23:51:28.000000000 +0100
+++ new/fuse-2.6.3/lib/fuse.c 2007-02-02 12:57:48.000000000 +0100
@@ -1437,13 +1437,15 @@
if (f->conf.kernel_cache)
fi->keep_cache = 1;
+ /* see comment for open */
+ pthread_mutex_lock(&f->lock);
if (fuse_reply_create(req, &e, fi) == -ENOENT) {
/* The open syscall was interrupted, so it must be cancelled */
+ pthread_mutex_unlock(&f->lock);
if(f->op.release)
fuse_do_release(f, req, path, fi);
forget_node(f, e.ino, 1);
} else {
- pthread_mutex_lock(&f->lock);
get_node(f, e.ino)->open_count++;
pthread_mutex_unlock(&f->lock);
}
@@ -1526,12 +1528,16 @@
if (f->conf.auto_cache)
open_auto_cache(f, req, ino, path, fi);
+ /* The reply and the open count increase needs to be under a
+ single locked section, otherwise a release could come in
+ between and screw up the accounting */
+ pthread_mutex_lock(&f->lock);
if (fuse_reply_open(req, fi) == -ENOENT) {
/* The open syscall was interrupted, so it must be cancelled */
+ pthread_mutex_unlock(&f->lock);
if(f->op.release && path != NULL)
fuse_compat_release(f, req, path, fi);
} else {
- pthread_mutex_lock(&f->lock);
get_node(f, ino)->open_count++;
pthread_mutex_unlock(&f->lock);
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/fuse-2.6.2/lib/Makefile.am new/fuse-2.6.3/lib/Makefile.am
--- old/fuse-2.6.2/lib/Makefile.am 2007-01-28 18:46:02.000000000 +0100
+++ new/fuse-2.6.3/lib/Makefile.am 2007-02-04 01:29:48.000000000 +0100
@@ -26,7 +26,7 @@
helper.c \
$(mount_source)
-libfuse_la_LDFLAGS = @libfuse_libs@ -version-number 2:6:2 \
+libfuse_la_LDFLAGS = @libfuse_libs@ -version-number 2:6:3 \
-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.2/lib/Makefile.in new/fuse-2.6.3/lib/Makefile.in
--- old/fuse-2.6.2/lib/Makefile.in 2007-01-30 14:44:01.000000000 +0100
+++ new/fuse-2.6.3/lib/Makefile.in 2007-02-04 15:31:02.000000000 +0100
@@ -219,7 +219,7 @@
helper.c \
$(mount_source)
-libfuse_la_LDFLAGS = @libfuse_libs@ -version-number 2:6:2 \
+libfuse_la_LDFLAGS = @libfuse_libs@ -version-number 2:6:3 \
-Wl,--version-script,$(srcdir)/fuse_versionscript
libulockmgr_la_SOURCES = ulockmgr.c
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org