fuse: Update to 2.9.4

Change-Id: I0877c624531286f47da29a7ab16c7ff3cfac0090
diff --git a/fuse/ChangeLog b/fuse/ChangeLog
new file mode 100644
index 0000000..f2e5d02
--- /dev/null
+++ b/fuse/ChangeLog
@@ -0,0 +1,3535 @@
+2015-05-22  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Released 2.9.4
+
+2015-05-22  Miklos Szeredi <miklos@szeredi.hu>
+
+	* libfuse: fix exec environment for mount and umount.  Found by
+	Tavis Ormandy (CVE-2015-3202).
+
+2015-02-26  Miklos Szeredi <miklos@szeredi.hu>
+
+	* libfuse: fix fuse_remove_signal_handlers() to properly restore
+	the default signal handler.  Reported by: Chris Johnson
+
+2014-07-21  Miklos Szeredi <miklos@szeredi.hu>
+
+	* libfuse: highlevel API: fix directory file handle passed to
+	ioctl() method.  Reported by Eric Biggers
+
+2014-07-15  Miklos Szeredi <miklos@szeredi.hu>
+
+	* libfuse: document deadlock avoidance for
+	fuse_notify_inval_entry() and fuse_notify_delete()
+
+	* fusermount, libfuse: send value as unsigned in "user_id=" and
+	"group_id=" options.  Uids/gids larger than 2147483647 would
+	result in EINVAL when mounting the filesystem.  This also needs a
+	fix in the kernel.
+
+2014-03-26  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Initilaize stat buffer passed to ->getattr() and ->fgetattr() to
+	zero in all cases.  Reported by Daniel Iwan
+
+2013-08-26  Miklos Szeredi <miklos@szeredi.hu>
+
+	* libfuse: Add missing includes.  This allows compiling fuse with
+	musl.  Patch by Daniel Thau
+
+2013-07-01  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Released 2.9.3
+
+2013-06-20  Miklos Szeredi <miklos@szeredi.hu>
+
+	* libfuse: fix multiple close of device fd.  Reported by Dan
+	Greenfield
+
+2013-03-19  Miklos Szeredi <miklos@szeredi.hu>
+
+	* libfuse: fix thread cancel race.  Exiting a worker my race with
+	cancelling that same worker.  This caused a segmenation
+	fault. Reported and tested by Anatol Pomozov
+
+2013-02-04  Miklos Szeredi <miklos@szeredi.hu>
+
+	* libfuse: fix crash in unlock_path().  Patch by Ratna Manoj
+
+	* libfuse: fix the 'remember' option.  The lru list was not
+	initialized for the "/" path.  This resulted in remove_node_lru()
+	crashing on LOOKUP-DOTDOT.  Patch by Madan Valluri
+
+	* libfuse: configure: detect new util-linux
+
+	* libfuse: Use AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER.
+	Patch by Anatol Pomozov
+
+	* libfuse: rename ./configure.in to ./configure.ac.  Patch by
+	Anatol Pomozov
+
+2012-10-01  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Released 2.9.2
+
+2012-10-01  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix deadlock in libfuse.  Running "svn update" on a fuse
+	filesystem could deadlock because of a bug in the way the paths
+	are locked.  Reported by Kazuaki Anami
+
+2012-08-23  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix missing config.h in buffer.c.  Reported by Matthew Gabeler-Lee
+
+2012-08-14  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Not unhashing the name in forget (commit on 2011-12-09) broke
+	the forget logic in a subtle way, resulting in "fuse internal
+	error: node NNN not found" and causing the filesystem daemon to
+	abort.  Fix by incrementing the node refcount if nlookup goes from
+	zero to one.  Reported by Kyle Lippincott
+
+2012-08-13  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix linking against GNU libiconv.  Patch by Natanael Copa
+
+2012-07-19  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Released 2.9.1
+
+2012-07-19  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix crash caused by freeing a stack address.  Reported by Itay
+	Perl
+
+2012-07-04  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix install of mount.fuse from out-of-tree build.  Patch by
+	Olivier Blin
+
+	* Fix build with automake >= 1.12.1.  Patch by Olivier Blin
+
+2012-04-24  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Add fallocate operation.  Only works on linux kernels 3.5 or
+	later.  Patch by Anatol Pomozov
+
+2012-05-16  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Linking to a library that uses threads requires the application
+	to be linked with -pthreads otherwise some pthread functions will
+	be linked to stubs in glibc.  So move -pthread from Libs.private
+	to Libs in fuse.pc.  Reported by Werner Fink
+
+	* Fix the compile command in the examples. Reported by Luciano
+	Dalle Ore
+
+2012-04-20  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Released 2.9.0
+
+2012-04-20  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Add missing fuse_fs_flock to fuse_versionscript
+
+2012-04-10  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Check protocol version before sending notifications and return
+	-ENOSYS if a particular notification is not supported.
+
+	* Add 'flag_utime_omit_ok' flag to fuse_operations.  If the
+	filesystem sets this flag then ->utimens() will receive UTIME_OMIT
+	and UTIME_NOW values as specified in utimensat(2).
+
+2012-01-27  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Interpret octal escape codes in options.  Requested by Jan
+	Engelhardt
+
+2012-01-26  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Add man pages for fusermount, mount.fuse and ulockmgr_server.
+	Lifted from the Debian package.  The man pages were written by
+	Daniel Baumann and Bastien Roucaries
+
+2012-01-13  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Disable symbol versions on MacOSX.  Patch by Anatol Pomozov
+
+2012-01-02  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Remove unnecessary mutex unlock at the end of multithreaded
+	event loop.
+
+2011-12-09  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix hang in wait_on_path().  Reported by Ville Silventoinen
+
+	* Don't unhash name in FORGET.  This resulted in ENOENT being
+	returned for unlinked but still open files if the kernel sent a
+	FORGET request for the parent directory.
+
+	* Free request in fuse_reply_data().
+
+2011-12-08  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix build if FUSE_NODE_SLAB is not defined.  Patch by Emmanuel
+	Dreyfus
+
+	* Check for availability of utimensat() function.  Patch by
+	Emmanuel Dreyfus
+
+2011-12-07  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Add fuse_lowlevel_notify_delete() which tells the kernel that a
+	file or directory is deleted.  Patch by John Muir
+
+2011-12-06  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Update retrieve_reply() method
+
+2011-12-05  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Low level API: lock argument of fuse_reply_lock should have a
+	'const' qualifier.  Reported by Shachar Sharon
+
+	* Add support for ioctl on directories.  Reported by Antonio SJ
+	Musumeci
+
+2011-10-13  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Reply to request with ENOMEM in case of failure to allocate
+	request structure.  Otherwise the task issuing the request will
+	just freeze up until the filesystem daemon is killed.  Reported by
+	Stephan Kulow
+
+2011-09-23  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Replace daemon() function with fork().  Patch by Anatol Pomozov
+
+2011-08-26  Miklos Szeredi <miklos@szeredi.hu>
+
+	* If configured with --disable-mtab then don't call mount(8) from
+	libfuse to update the mtab.  Reported by: James Sierp
+
+2011-08-24  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Use LRU list for cleaning up the cache if the "remember=T"
+	option was given.  Patch by therealneworld@gmail.com
+
+2011-07-06  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Add ->flock() operation to low and high level interfaces.  This
+	fixes problems with emulating flock() with POSIX locking.
+	Reported by Sebastian Pipping.  As with lock/setlk/getlk most
+	filesystems don't need to implement this, as the kernel takes care
+	of file locking.  The only reason to implement locking operations
+	is for network filesystems which want file locking to work between
+	clients.
+
+2011-07-02  Sebastian Pipping <sebastian@pipping.org>
+
+	* Make xmp_utimens of examples "fusexmp" and "fusexmp_fh"
+	not follow symlinks as other layers do that already.
+
+2011-06-02  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Add "remember" option.  This works similar to "noforget" except
+	that eventually the node will be allowed to expire from the cache.
+	Patch by therealneworld@gmail.com
+
+2011-05-27  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Check if splice/vmsplice are supported
+
+2011-05-26  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Remove -lrt -ldl from fuse.pc for dynamic linking since
+	libfuse.so is already linked with these libraries.  Reported by:
+	Nikolaus Rath
+
+2011-05-20  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Cleaner build output.  Patch by Reuben Hawkins
+
+2011-05-19  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Disable splice by default, add "splice_read", "splice_write" and
+	"splice_move" options.  Keep the "no_splice_*" variants, which can
+	disable splice even if the filesystem explicitly enables it.
+
+2011-04-15  Max Krasnyansky <maxk@kernel.org>
+	* Added support for "auto_unmount" option which unmounts the
+	filesystem automatically on process exit (or crash).
+
+2011-03-30  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Patches by Laszlo Papp fixing various issues found by the
+	Coverity checker
+
+2011-03-11  Miklos Szeredi <miklos@szeredi.hu>
+
+	* In case of failure to add to /etc/mtab don't umount.  Reported
+	by Marc Deslauriers
+
+2011-02-02  Miklos Szeredi <miklos@szeredi.hu>
+
+	* libfuse: In fuse_session_loop_mt() don't pause when exiting the
+	worker threads.  The pause() was added in 2.2.1 to prevent
+	segfault on pthread_cancel() on an exited, detached thread.  Now
+	worker threads are not detached and pthread_cancel() should work
+	fine even after the thread exited.  Reported by Boris Protopopov
+
+2011-01-31  Miklos Szeredi <miklos@szeredi.hu>
+
+	* fusermount: chdir to / before performing mount/umount
+
+	* fusermount: only allow mount and umount if util-linux supports
+	--no-canonicalize
+
+2010-12-16  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Highlevel lib: allow hash tables to shrink
+
+	* Highlevel lib: add slab allocation for node cache.  This will
+	allow the memory used by the filesystem to grow and shrink
+	depending on how many inodes are currently cached.
+
+2010-12-13  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Highlevel lib: use dynamically resized hash table for looking up
+	by name and node ID.
+
+2010-12-07  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Allow batching of forget requests.  This allows forget requests
+	to be processed faster and doesn't require a modification to fuse
+	filesystems.  Reported by Terje Malmedal
+
+	* Add ->forget_multi() operation to the lowlevel API.  The
+	filesystem may implement this to process multiple forget requests
+	in one call
+
+	* Fix the ambiguity of ioctl ABI on the kernel/userspace boundary
+	for 32bit vs. 64bit userspace
+
+2010-11-10  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Add new write_buf() method to the highlevel API.  Similarly to
+	the lowlevel write_buf() method, this allows implementing zero
+	copy writes.
+
+	* Add a new read_buf() method to the highlevel API.  This allows
+	returning a generic buffer from the read method, which in turn
+	allows zero copy reads.
+
+	* In fusexmp_fh implement the ->read_buf() and ->write_buf()
+	methods.  Leave the ->read() and ->write() implementations for
+	reference, even though they are not necessary.
+
+2010-11-08  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix check for read-only fs in mtab update
+
+	* Open /dev/null for write instead of read for redirecting stdout
+	and stderr
+
+	* If umount(8) supports --fake and --no-canonicalize (util-linux-ng
+	version 2.18 or later), and umount(2) supports the
+	UMOUNT_NOFOLLOW flag (linux kernel version 2.6.35 or later)  then,
+	"fusermount -u" will call the umount(2) system call and use
+	"umount --fake ..." to update /etc/mtab
+
+	* Added --disable-legacy-umount option to configure.  This
+	disables the runtime checking of umount(8) version.  When built
+	with this option then "fusermount -u" will fail if umount(8)
+	doesn't support the --fake and --no-canonicalize options.
+
+	* Fix fuse_buf_copy() if already at the end of the buffers
+
+	* Add new ->write_buf() method to low level interface.  This
+	allows passig a generic buffer, either containing a memory buffer
+	or a file descriptor.  This allows implementing zero copy writes.
+
+	* Add fuse_session_receive_buf() and fuse_session_process_buf()
+	which may be used in event loop implementations to replace
+	fuse_chan_recv() and fuse_session_process() respectively.
+
+	* Remove unnecessary restoring of current working directory in
+	"fusermount -u"
+
+	* Add ctx->pid to debug output
+
+	* Fix st_nlink value in high level lib if file is unlinked but
+	still open
+
+	* libfuse: add store request.  Request data to be stored in the
+	kernel buffers for a given inode.
+
+	* libfuse: add retrieve request.  Retrieve data stored in the
+	kernel buffers for a given inode.
+
+2010-10-14  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Use LTLIBICONV when linking libfuse.  This fixes building against
+	uclibc + libiconv.  Patch by Natanael Copa
+
+2010-10-05  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Add missing argument check in ulockmgr.c to prevent calling
+	ulockmgr_server with illegal arguments. This would cause an ever
+	growing list of ulockmgr_server processes with an endless list of
+	open files which finally exceeds the open file handle limit.
+	Patch by Markus Ammer
+
+2010-09-28  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix ambiguous symbol version for fuse_chan_new.
+	fuse_versionscript included fuse_chan_new in both FUSE_2.4 and
+	FUSE_2.6.  Remove the FUSE_2.4, which is invalid.
+
+2010-09-28  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix option escaping for fusermount.  If the "fsname=" option
+	contained a comma then the option parser in fusermount was
+	confused (Novell bugzilla #641480).  Fix by escaping commas when
+	passing them over to fusermount.  Reported by Jan Engelhardt
+
+2010-08-27  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Add NetBSD support.  Patch from Emmanuel Dreyfus
+
+2010-07-12  Miklos Szeredi <miklos@szeredi.hu>
+
+	* libfuse: add buffer interface.  Add a generic buffer interface
+	for use with I/O.  Buffer vectors are supplied and each buffer in
+	the vector may be a memory pointer or a file descriptor.
+
+	* The fuse_reply_fd() interface is converted to using buffers.
+
+2010-06-23  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Make the number of max background requests and congestion
+	threshold tunable.  New options are "max_background" and
+	"congestion_threshold".  Only effective on linux kernel versions
+	2.6.32 or greater.  Patch by Csaba Henk
+
+2010-06-17  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Add fuse_reply_fd() reply function to the low level interface.
+	On linux version 2.6.35 or greater this will use splice() to move
+	data directly from a file descriptor to the fuse device without
+	needing to go though a userspace buffer.  With the
+	FUSE_REPLY_FD_MOVE flag the kernel will attempt to move the data
+	directly into the filesystem's cache.  On earlier kernels it will
+	fall back to an intermediate buffer.  The options
+	"no_splice_write" and "no_splice_move" can be used to disable
+	splicing and moving respectively.
+ 
+2010-06-15  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix out-of-source build.  Patch by Jörg Faschingbauer
+
+	* Add a "nopath" option and flag, indicating that path argument
+	need not be calculated for the following operations: read, write,
+	flush, release, fsync, readdir, releasedir, fsyncdir, ftruncate,
+	fgetattr, lock, ioctl and poll.
+
+2010-05-10  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Remove "chmod root" from install of fusermount.  Reported by
+	Lucas C. Villa Real
+
+2010-04-26  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Released 2.8.4
+
+2010-04-26  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix checking for symlinks in umount from /tmp.  Reported by Al
+	Viro
+
+	* Fix umounting if /tmp is a symlink.  Reported by Franco Broi
+
+2010-02-18  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix definition of FUSE_OPT_END for C++.  Reported by Tim
+	Bruylants
+
+2010-02-03  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix stack alignment for clone()
+
+2010-02-01  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Released 2.8.3
+
+2010-02-01  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Using "--no-canonicalize" with umount(8) conflicts with the race
+	fix, sinceit assumes the supplied path is absolute, while the race
+	fix relies on the path being relative to the current directory.
+	Reported by Tom Rindborg
+
+2010-01-26  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Released 2.8.2
+
+2010-01-21  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix race if two "fusermount -u" instances are run in parallel.
+	Reported by Dan Rosenberg
+
+	* Make sure that the path to be unmounted doesn't refer to a
+	symlink
+
+2010-01-14  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix compile error on FreeBSD.  Patch by Jay Sullivan
+
+2009-12-17  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Use '--no-canonicalize' option of mount(8) (available in
+	util-linux-ng version 2.17 or greater) to avoid calling
+	readling(2) on the newly mounted filesystem before the mount
+	procedure is finished.  This has caused a deadlock if "audit" was
+	enabled in the kernel.  Also use '--no-canonicalize' for umount to
+	avoid touching the mounted filesystem.
+
+2009-09-11  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Released 2.8.1
+
+2009-08-25  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix missing versioned symbol fuse_get_context@FUSE_2.2
+
+2009-08-18  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Released 2.8.0
+
+2009-08-18  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Add missing fuse_session_data to versionscript
+
+	* Make sure all global symbols are prefixed with "fuse_" or "cuse_"
+
+2009-07-16  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Clarify how the protocol version should be negotiated between
+	kernel and userspace.  Notably libfuse didn't correctly handle the
+	case when the supported major versions didn't match
+
+	* Add missing pthread link for libulockmgr.  Patch by  Petr Salinger
+
+2009-07-02  Miklos Szeredi <miklos@szeredi.hu>
+
+	* The context is extended with a 'umask' field.  The umask is sent
+	for mknod, mkdir and create requests by linux kernel version
+	2.6.31 or later, otherwise the umask is set to zero.  Also
+	introduce a new feature flag: FUSE_CAP_DONT_MASK.  If the kernel
+	supports this feature, then this flag will be set in conn->capable
+	in the ->init() method.  If the filesystem sets this flag in in
+	conn->want, then the create modes will not be masked.
+
+	* Add low level interfaces for lookup cache and attribute
+	invalidation.  This feature is available in linux kernels 2.6.31
+	or later.  Patch by John Muir
+
+	* Kernel interface version is now 7.12
+
+	* fusermount: Do not silently ignore command line arguments.
+	Patch by Sebastian Harl
+
+2009-06-19  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Released 2.8.0-pre3
+
+2009-06-19  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Add fuse_getgroups (high level lib) and fuse_req_getgroups (low
+	level lib) functions to query the supplementary group IDs for the
+	current request.  Currently this is implemented on Linux by
+	reading from the /proc filesystem.
+
+2009-06-18  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Add "noforget" option to high level lib to prevent ESTALE errors
+	on NFS exported filesystems.  This result in paths being cached
+	forever, resulting in ever growing memory usage.  Use with care.
+
+	* Add "no_remote_lock" option to disable remote file locking even
+	if the filesystem implements it.  With this option locking
+	primitives (flock, lockf, fcntl(F_SETLK)) will still work, but
+	will ignore remotely locked files.
+
+	* CUSE patches from Tejun Heo:
+
+	* Unrestricted ioctl support left some debris.  Clean them up:
+	  o No reason to pass around pointer to flags.  Pass flags directly.
+	  o Clean up comment and prototype parameter names.
+	  o fuse_lib_ioctl() didn't reply when get_path() failed.  Fix it.
+	  o Remove unused variables {in|out}_iov from fuse_lib_ioctl().
+
+	* Add fuse_reply_ioctl_iov()
+
+	* Move fuse_session, fuse_req and fuse_ll definitions to fuse_i.h
+	and make send_reply_iov() and fuse_setup_common() global (also in
+	fuse_i.h).  These will be used by CUSE support.
+
+	* Restructure fuse_ll_process()
+
+	* Implement libfuse side of CUSE support.  CUSE uses subset of FUSE
+	operations as dir operations don't make sense for CUSE where one
+	instance implements single character device.
+
+	CUSE support comes with its own cuse_lowevel_ops and related
+	initialization and helper functions.  Except for initialization, it
+	usage is basically identical to FUSE.
+
+	This patch also adds example/cusexmp.c which can create a character
+	device with name and device number specified on command line.  The
+	created device itself is pretty boring.  It's a bit bucket supporting
+	read, write and access via ioctl.
+
+2009-06-16  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Add missing fuse_reply_bmap to versionscript.  Debian
+	Bug#531329.  Reported by Goswin Brederlow
+
+2009-05-27  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Don't call forget_node() if the lookup was negative and write()
+	for the reply returned ENOENT.  Reported by John Haxby
+
+2009-05-25  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Add FUSE_CAP_EXPORT_SUPPORT to fuse_common.h
+
+2009-05-08  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix missing newlines in some printfs
+
+	* Fix 'make install-strip'.  Reported by Dominick Layfield
+
+2009-01-05  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Released 2.8.0-pre2
+
+2008-12-08  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Implement poll support.  Patch by Tejun Heo
+
+	* Add missing setattr flags to <fuse_lowlevel.h>.
+
+	* Only pass valid flags to ->setattr().
+
+2008-12-05  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Implement ioctl support.  On high level interface only
+	"restricted" ioctls are supported (which are defined with the
+	_IO(), _IOR(), _IOW() or _IOWR() macros).  Unrestricted ioctls
+	will only be allwed to CUSE (Character Device in Userspace)
+	servers.  Patch by Tejun Heo
+
+2008-11-28  Miklos Szeredi <miklos@szeredi.hu>
+
+	* If open sets fi->nonseekable, libfuse will tell the kernel that
+	the file is not seekable.  Patch by Tejun Heo
+
+2008-11-19  Miklos Szeredi <miklos@szeredi.hu>
+
+	* lowlevel lib: fix deadlock if fuse_reply_* is called from the
+	interrupt handling function.  Reported by Tero Marttila
+
+2008-10-16  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Allow commas in options to be escaped with a backslash
+
+	* Add new function: fuse_opt_add_opt_escaped()
+
+	* Add missing fuse_reply_bmap() to the version script
+
+2008-10-14  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Pass current file flags to read and write operations
+
+2008-07-24  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Clean up debug output in highlevel lib
+
+2008-07-10  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Released 2.8.0-pre1
+
+2008-06-27  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix handling of (no)suid and (no)dev options if filesystem is
+	mounted from /etc/fstab or via mount(8).  Reported by Jan Ondrej.
+
+	* Skip calling mount(8) if /etc/mtab doesn't exist or if it's on a
+	read-only filesystem.  This works around issues with certain mount
+	implementations.  Reported by Szabolcs Szakacsits.
+
+2008-06-16  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Remove fuse kernel module sources.  Linux 2.6.27 will support
+	NFS exporting.
+
+2008-06-10  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix theoretical infinite loops in libfuse.  Reported by Szabolcs
+	Szakacsits
+
+	* Fix missing <sys/param.h> include for PATH_MAX.  Reported by
+	Szabolcs Szakacsits
+
+2008-05-23  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix mounting over symlink.  Reported by Szabolcs Szakacsits
+
+2008-05-09  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Don't allow bigger than 4kB writes by default on 2.6.26 and
+	later kernels, so that filesystems not expecting this are not
+	broken on a kernel upgrade.  Provide a 'big_writes' mount option
+	to enable this feature.  In future API revisions this may become
+	the default.
+
+2008-04-09  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Update warning message for missing newline at end of fuse.conf
+
+	* Update debug message for successful operation to not include the
+	string "error:"
+
+2008-04-08  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Update error message for missing mountpoint parameter.  Reported
+	by Allen Pulsifer
+
+2008-04-04  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Print library version information to debug output
+
+	* Highlevel lib: don't limit paths to 4095 characters
+
+2008-03-25  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix memory leaks on mount.  Patch by Szabolcs Szakacsits
+
+2008-03-19  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix missing pthread_mutex_destroy in error path of
+	fuse_lib_opendir().  Patch by Szabolcs Szakacsits
+
+2008-03-07  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Add queuing on contention to per-node lock algorithm, to avoid
+	starvation.
+
+	* Only enable cancelation when reading a request, otherwise
+	cancellation could happen with a mutex held, which could hang the
+	process on umount
+
+2008-02-08  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Block SIGCHLD when executing mount and umount
+
+	* fusexmp_fh: avoid unnecessary seeking in readdir
+
+	* Update kernel interface to 7.9:
+
+	* Support receiving file handle from kernel in GETATTR request
+
+	* Allow operations with a NULL path argument, if the filesystem
+	supports it
+
+	* Add support atomic open(O_TRUNC)
+
+	* Support the st_blksize field in struct stat
+
+	* If the "FUSE_THREAD_STACK" environment is set, initialize the
+	stack size of threads by this value.  Patch by Florin Malita
+
+	* Add per-node locking, instead of a global tree lock to protect
+	the path from changing during operations.  Original patch by
+	Rodrigo Castro
+
+2008-02-03  Csaba Henk <csaba.henk@creo.hu>
+
+	* lib/mount_bsd.c:
+	- string formatting fixes
+	- exit if mounting has failed
+	  (in FreeBSD a mount failure is not critical per se, as the daemon
+	  still could be mounted externally, but waiting for such an event
+	  is more confusing than fruitful)
+	- ditch the kvm(8) stuff and simply use forced unmount which just
+	  won't block
+	- prettify option specifications
+	- add "-onosync_unmount" kernel option
+
+2008-01-07  Csaba Henk <csaba.henk@creo.hu>
+
+	* lib/mount_bsd.c:
+	- refine device closing in a race-free way
+	- add support for "-osubtype" on FreeBSD
+
+	* makeconf.sh: make it work under FreeBSD
+
+2008-01-03  Csaba Henk <csaba.henk@creo.hu>
+
+	* lib/mount_bsd.c: close device before unmount
+	(cf. lib/mount.c rev. 1.43) and fix some warnings 
+
+2007-12-23  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix './configure --disable-static'.  Patch from Ismail Dönmez
+
+2007-12-17  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Released 2.7.2
+
+2007-12-12  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix kernel module compile for 2.6.24
+
+	* Invalidate attributes of parent directory after create(), since
+	the modification time changes.  Invalidate attributes on rename,
+	since some filesystems may update st_ctime.  Reported by Szabolcs
+	Szakacsits
+
+	* Fix NFS exporting to handle 64bit node IDs
+
+	* Disable old symbol versions if __UCLIBC__ is defined.  If a
+	symbol in a library has multiple versions, the runtime linker in
+	uClibc seems to randomly choose between them.
+
+	* Remove erroneous 'fuse_opt_insert_arg@FUSE_2_5' from
+	fuse_version_script.  fuse_opt_free_args() was added in fuse-2.6.
+
+	* Close fuse device file descriptor before calling umount(),
+	preventing a deadlock when umount is synchronous.  Reported by
+	Szabolcs Szakacsits
+
+2007-11-12  Miklos Szeredi <miklos@szeredi.hu>
+
+	* 'fusermount -u' did not umount the filesystem if /etc/mtab was a
+	symlink.  This bug was introduced in 2.7.1 by "Don't call
+	/bin/[u]mount if /etc/mtab is a symlink".  Found by robertsong.
+
+2007-10-16  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Released 2.7.1
+
+2007-10-16  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Clarify licence version to be "LGPLv2" for the library
+
+	* kernel fixes:
+
+	* After mount set nlink attribute for the root inode to 1
+
+	* Fix wake up of task waiting for a reserved request
+
+	* Fix allowing setattr, listxattr and statfs for other users
+
+2007-09-18  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Add missing context initialization in fuse_fs_chmod().  Bug
+	found by "iohead"
+
+	* Fix kernel module compilation for 2.6.23.  Based on patch by
+	Marian Marinov
+
+2007-09-04  Philippe Elie  <phil.el@wanadoo.fr>
+
+	* lib/fuse_lowlevel.c: fix a fuse_req leak in do_forget()
+
+2007-07-31  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Work around hotplug issue, that it calls filesystem with file
+	descriptors 0, 1 and 2 not open.  Tracked down by Leif Johnson
+
+2007-07-25  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Don't call /bin/[u]mount if /etc/mtab is a symlink.  Reported by
+	Tomas M
+
+	* Also don't touch /etc/mtab if it is within the mounted
+	filesystem.  Suggested by Jeffrey Law
+
+2007-07-12  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Reset args->argc in fuse_opt_free_args().  Patch by Lucas
+	C. Villa Real
+
+2007-07-02  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Released 2.7.0
+
+2007-07-02  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Accept a NULL "op" for fuse_main(), etc.  This is useful if
+	filesystem is only invoking fuse to print a help message, or
+	version.  Fixes RedHat bugzilla #217343
+
+2007-06-22  Miklos Szeredi <miklos@szeredi.hu>
+
+	* lib: fix locking when loading a filesystem module
+
+2007-06-21  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Add fs subtype support to mount.fuse
+
+2007-06-20  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Add fs subtype support to libfuse and fusermount
+
+2007-06-19  Miklos Szeredi <miklos@szeredi.hu>
+
+	* kernel: sync with mainline (2.6.22)
+
+2007-06-18  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Send debug output to stderr instead of stdout.  Patch by Jan
+	Engelhardt
+
+2007-06-03  Miklos Szeredi <miklos@szeredi.hu>
+
+	* libulockmgr: Work around a kernel bug in recv(), causing it to
+	sometimes return zero even if data was available on the socket.
+
+2007-05-29  Miklos Szeredi <miklos@szeredi.hu>
+
+	* lib: optimization: store parent pointer in node instead of
+	parent id
+
+2007-05-25  Miklos Szeredi <miklos@szeredi.hu>
+
+	* lib: don't create new thread for each FORGET request.  FORGET
+	messages sometimes caused so many threads to be created, that
+	process virtual memory space ran out.  Reported by Chris AtLee
+
+2007-05-24  Miklos Szeredi <miklos@szeredi.hu>
+
+	* lib: fix memory leak on thread creation failure in multithreaded
+	event loop.  Found by Chris AtLee
+
+2007-05-23  Miklos Szeredi <miklos@szeredi.hu>
+
+	* lowlevel lib: add fuse_reply_iov function, which is similar to
+	fuse_reply_buf, but accepts a vector of buffers.  Patch by Roger
+	Willcocks
+
+2007-05-21  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix Oops or error if a regular file is created with mknod(2) on
+	a fuse filesystem.  Kernels 2.6.18 onward are affected.  Thanks to
+	J. Cameijo Cerdeira for the report
+
+2007-05-11  Csaba Henk <csaba.henk@creo.hu>
+
+	* libfuse: fix return value of fuse_loop()/fuse_loop_mt().
+	Error reported by Csaba Henk, fix by Miklos Szeredi
+
+	* libfuse: fix unlock in flush
+
+	* libfuse: do unlocking on RELEASE+FLUSH
+ 
+2007-05-03  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Released 2.7.0-rc1
+
+2007-05-02  Miklos Szeredi <miklos@szeredi.hu>
+
+	* kernel: sync with mainline:
+
+	* Use invalidate_mapping_pages() if available
+
+	* Fix BUG when invalid file type is supplied in mount. Patch by
+	Timo Savola
+
+2007-04-27  Miklos Szeredi <miklos@szeredi.hu>
+
+	* libfuse: call umount(8) directly instead of fusermount if
+	possible
+
+	* Clean up init script, make it LSB compliant
+
+2007-04-26  Miklos Szeredi <miklos@szeredi.hu>
+
+	* In multithreaded loop, use a semaphore instead of SIGHUP to wake
+	up the main thread on umount.  This is more elegant, and works
+	even if signals are blocked.
+
+2007-04-25  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Improve mounting support in libfuse:
+	 - check non-empty mountpoint
+	 - only fall back to fusermount when necessary
+
+2007-04-23  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Don't chdir to "/" in foreground mode, it causes more trouble
+	than it's worth
+
+2007-04-18  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Replace utils/mount.fuse "sh" script with a "C" program
+
+2007-04-15  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Add -lulockmgr to compilation comment in fusexmp_fh.c
+
+2007-04-05  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Check for iconv.  Patch by Csaba Henk
+
+	* Add direct umounting
+
+	* Use "fusectl" as the device for the fusectl filesystem.  Debian
+	Bug#417945.  Reported by Laurent Bonnaud
+
+2007-04-01  Csaba Henk <csaba.henk@creo.hu>
+
+	* Fix some FreeBSD related macros.
+
+2007-03-30  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Add support for direct mounting by libfuse.  Fall back on
+	calling fusermount if it doesn't work
+
+2007-03-14  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Released 2.7.0-pre1
+
+2007-03-05  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Correctly handle O_APPEND in direct IO mode.  Reported by Greg
+	Bruno
+
+	* mount.fuse should use /bin/bash.  Debian Bug#413403.  Reported
+	by Thomas Weinbrenner
+
+2007-02-26  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix detection of installed fuse in init script.  Reported and
+	fix suggested by Davide Canova
+
+2007-02-05  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix 2.6.9 RHEL kernels, which have compatibility mutex.h, but
+	don't define mutex_destroy(), bummer.  Patch from Phil Schwan
+
+2007-02-04  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Compile fuseblk for kernels which don't have an option to turn
+	off the block layer (CONFIG_BLOCK).  Reported by Szakacsits
+	Szabolcs
+
+2007-02-03  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Add filesystem stacking support to high level API.  Filesystem
+	modules can be built into libfuse or loaded from shared object
+	(.so) files
+
+	* Add 'subdir' and 'iconv' built in modules
+
+	* lib/fuse.c: Fix locking for the reply code in create and open
+
+2007-02-02  Miklos Szeredi <miklos@szeredi.hu>
+
+	* kernel: make it compile on "strange" kernels which have emulated
+	mutexes via <linux/mutex.h> but no i_mutex.  Reported by Tomasz
+	Mateja
+
+2007-01-28  Miklos Szeredi <miklos@szeredi.hu>
+
+	* kernel: fix BUG in control filesystem if it is umounted and
+	mounted again, while some fuse filesystems are present.
+	Bugreport from Florent Mertens
+
+	* kernel: sync with mainline, support 2.6.20
+
+2007-01-22  Miklos Szeredi <miklos@szeredi.hu>
+
+	* lib/Makefile.am: actually link libfuse against libfuse_libs
+
+2007-01-19  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Build fix for 2.6.16 vanila and 2.6.15 FC5 kernels.  Patch from
+	Ian Abbott
+
+2007-01-18  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix abort in fuse_new() compatibility API for opts == NULL case.
+	Novell bugzilla #233870.  Patch from Takashi Iwai.
+
+2007-01-13  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix option parsing in mount.fuse.  Patch from Jens M. Noedler
+
+2007-01-02  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix unaligned access in file desctriptor passing in libfuse,
+	fusermount and ulockmgr.  Debian bug ID: 404904.  Reported and
+	tested by Sebastian Fontius
+
+2006-12-16  Miklos Szeredi <miklos@szeredi.hu>
+
+	* kernel: don't keep unreferenced inodes in the icache.
+
+2006-12-15  Miklos Szeredi <miklos@szeredi.hu>
+
+	* fusermount: Fix detection of fuseblk.  Reported by Szakacsits
+	Szabolcs
+
+	* lib: Fix use after free in fuse_flush().  Reported by Ron
+	Lindman
+
+2006-12-10  Miklos Szeredi <miklos@szeredi.hu>
+
+	* mount.fuse: add "setuid=USER" option which does a "su - USER"
+	for the filesystem
+
+	* fusermount: use "/bin/mount -f" to add entry to /etc/mtab, and
+	"/bin/umount" to remove entry from /etc/mtab.  This gets rid of
+	the ugly code dealing with mtab, as well as a possible race
+	between fusermount and mount trying to modify /etc/mtab at the
+	same time
+
+	* Fix "buffer size too small: 4" warning for users of the
+	fuse_loop_mt_proc() function.
+
+2006-12-04  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix warnings with gcc-4.1 on 64bit archs.  Report from
+	Harshavardhana
+
+	* Add extra warning options, and fix resulting warnings
+
+	* Really fix fuse_teardown problem
+
+2006-12-02  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Add -lrt to fuse.pc (if needed) to fix static linking against
+	libfuse.  Reported by Szakacsits Szabolcs
+
+2006-12-01  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Released 2.6.1
+
+2006-11-30  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix API version 21 and 22 compatibility for fuse_teardown.
+	Reported by Bgs
+
+2006-11-29  Miklos Szeredi <miklos@szeredi.hu>
+
+	* 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 <miklos@szeredi.hu>
+
+	* 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 <miklos@szeredi.hu>
+
+	* 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 <miklos@szeredi.hu>
+
+	* Fix recursive locking in fuse_create().  Thanks to Takuya
+	Ishibashi for the bug report
+
+2006-10-28  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix automake problem.  Patch from Nix
+
+2006-10-26  Miklos Szeredi <miklos@szeredi.hu>
+
+	* 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 <miklos@szeredi.hu>
+
+	* Released 2.6.0
+
+2006-10-18  Miklos Szeredi <miklos@szeredi.hu>
+
+	* fusermount: don't try to create a lock file if /etc/mtab is a
+	symlink.  Report and patch from Alexei Sheplyakov (debian bug
+	#393693)
+
+2006-10-17  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Minor changes, sync with mainline tree
+
+2006-10-16  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Released 2.6.0-rc3
+
+2006-10-15  Miklos Szeredi <miklos@szeredi.hu>
+
+	* kernel: cleanups
+
+2006-10-13  Miklos Szeredi <miklos@szeredi.hu>
+
+	* kernel: Fix compilation on patched 2.6.18 (fc6) and 2.6.19.
+	Report from David Shaw
+
+	* lib: Fix lost error on renaming a file. Report from David Shaw
+
+	* lib: Fix lost error on hiding open files (renaming to
+	.fuse_hiddenXXXX)
+
+	* kernel: Fix a rare hang on SMP/32bit on heavy filesystem
+	activity.  The cause of the bug was that some calls to
+	i_size_write() were not protected by a lock, and hence
+	i_size_seqcount could become corrupted.  This caused subsequent
+	calls to i_size_read() to spin forever.  This is a long standing
+	bug was probably introduced in version 2.2, and thought to be
+	related to NFS exporting (it's not).  It was reported by various
+	people, but Dana Henriksen has finally helped me to track it down,
+	so big thanks to him
+
+	* kernel: Protect against truncation of a swapfile
+
+2006-10-10  Miklos Szeredi <miklos@szeredi.hu>
+
+	* kernel: Check for signature of super_operations->umount_begin().
+	Ubuntu kernel 2.6.17 seems to use the new signature found in
+	2.6.18.  Thanks to Florent Mertens for the report
+
+2006-10-08  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Make sure inode numers wrap around at 2^32.  This is needed on
+	dual 64bit/32bit architectures, because 32bit applications using
+	the non-largefile interface would otherwise break (EOVERFLOW error
+	would be returned by the stat() system call family)
+
+	* ulockmgr: handle the case, when a locking operation fails
+	because no more file desctriptors are available in
+	ulockmgr_server.  Also work around a Linux kernel bug (known to
+	exist for all Linux kernel versions <= 2.6.18) which may cause
+	sent file descriptors to be lost in the above case
+
+	* ulockmgr: optimize file descriptor use
+
+	* restore needed cpp flags to util/Makefile.am
+
+	* Install udev rules as 99-fuse.rules instead of 60-fuse.rules
+
+	* Minor clean up of udev rules
+
+	* Add a synchronous DESTROY message to kernel interface.  This is
+	invoked from umount, when the final instance of the filesystem is
+	released.  It is only sent for filesystems mounted with the
+	'blkdev' option for security reasons.
+
+	* If the DESTROY message is received, call the filesystem's
+	->destroy() method.  In this case it's not called from session
+	destruction as it would be otherwise.
+
+2006-10-01  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Released 2.6.0-rc2
+
+2006-10-01  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Add support for FLUSH+RELEASE operation for FreeBSD.  Original
+	patch by Csaba Henk
+
+	* Add init script to insert fuse module and mount the control
+	filesystem.  The script is installed as /etc/init.d/fuse and on
+	debian based systems (where update-rc.d is available) symlinks
+	from /etc/rc*.d/ are also installed.
+
+	* Include '#define FUSE_USE_VERSION=XX' into examples so they
+	become more self contained.
+
+2006-09-30  Miklos Szeredi <miklos@szeredi.hu>
+
+	* API changes:
+
+	* Move lock_owner from a separate argument into fuse_file_info
+
+	* Add a flag to fuse_file_info indicating (1) a highlevel lock
+	operation (unlock all) was initiated by a flush, (2) a lowlevel
+	release operation should perform a flush as well.
+
+	* fusermount: revert modprobe change (2006-08-18) since it
+	doesn't work reliably with udev
+
+	* Add support for block device backed filesystems.  This mode is
+	selected with the 'blkdev' option, which is privileged.
+
+	* Add support for the bmap (FIBMAP ioctl) operation on block
+	device backed filesystems.  This allows swapon and lilo to work on
+	such filesystems.
+
+	* kernel changes:
+
+	* Drop support for kernels earlier than 2.6.9.  Kernel module from
+	previous (2.5.x) release can be used with library from this
+	release
+
+	* In fuse_dentry_revalidate() use dget_parent() instead of
+	dereferencing d_parent, since there's no protection against parent
+	changing and going away
+
+	* Protect nlookup from concurrent updates
+
+	* In lookup if a directory alias exists but is unused,
+	then get rid of it, otherwise return -EBUSY.
+
+	* In mkdir if a directory alias exists, return success, but leave
+	dentry negative.  In reality this could happen if a remote rename
+	immediately followed the mkdir.
+
+	* Don't BUG in fuse_iget() if multiple retries are needed to get a
+	good inode.  This could happen if several lookups are racing for
+	the same inode.
+
+2006-09-29  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix compilation on 2.6.9.  Report from Troy Ayers
+
+2006-09-27  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix Oops in fuse_readpages().  Reported by David Shaw
+
+2006-09-24  Csaba Henk <csaba.henk@creo.hu>
+
+	* Add support for nanosec times on FreeBSD
+
+	* Fix FreeBSD compatibility issues
+
+2006-09-23  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix one more compatibility bug.  Thanks to Ricardo Correia
+
+	* Fix utimens compilation with uClibc.  Patch from Jamie Guinan
+
+2006-09-22  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fixed several compatibility bugs in low level interface.
+	Reported by Ricardo Correia
+
+	* Add workaround for ARM caching bug
+
+2006-09-16  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Rename new utimes() method to more logical utimens()
+
+2006-09-14  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fuse tried to unlink already unlinked hidden files.  Bug
+	reported by Milan Svoboda
+
+2006-09-10  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Released 2.6.0-rc1
+
+2006-09-10  Miklos Szeredi <miklos@szeredi.hu>
+
+	* kernel: Fix unlock on close for kernels < 2.6.18
+
+	* Add ulockmgr library & server.  This can be used for handling
+	file locking requests either directly from libfuse or over a
+	network, etc.  This first version is not optimized and the number
+	of file descriptors it uses may get out of hand
+
+2006-09-07  Miklos Szeredi <miklos@szeredi.hu>
+
+	* lib: Add interrupt support to high level library, which may be
+	enabled with the 'intr' mount option.
+
+	* When an operation is interrupted the thread handling that
+	operation will receive SIGUSR1 (or other signal specified with the
+	'intr_signal=N' option).  The library installs a no-op signal
+	handler for this signal, unless there's already a handler
+	installed.
+
+	* The filesystem may query interrupt status (regardless of 'intr')
+	with the fuse_interrupted() function.
+
+	* mount.fuse: initialize $HOME if not set.  Report from Sven Goldt
+
+2006-09-03  Miklos Szeredi <miklos@szeredi.hu>
+
+	* lib: Multithreaded loop now allows unlimited number of threads.
+	This is needed for locking operations which may block
+	indefinitely.  Also the kernel now doesn't limit the number of
+	outstanding requests so the library shouldn't do so either.
+
+2006-09-01  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix recursive lock bug in interrupt handling
+
+	* Add utimes() method to highlevel interface, which supports
+	setting times with nanosecond resolution
+
+2006-08-18  Miklos Szeredi <miklos@szeredi.hu>
+
+	* kernel: fix page leak if fuse_readpages() failed in it's
+	initialization.  Bug found and original patch from Alexander
+	Zarochentsev
+
+	* For linux kernels >=2.6.18 (2.6.19 if using the fuse module from
+	the kernel tree) the statfs method will receive the path within
+	the filesystem on which the stat(v)fs syscall was called
+
+	* fusermount: try to modprobe fuse module if invoked by root and
+	unable to open device.  This is needed with udev, since the device
+	node will be created only when the module is inserted, hence
+	module autoloading won't work.  Reported by Szakacsits Szabolcs
+
+2006-07-30  Miklos Szeredi <miklos@szeredi.hu>
+
+	* fusermount: if selinux is active, restore the original file's
+	security context in unmount_rename().  Redhat bugzilla id 188561.
+	Patch from Yves Perrenoud
+
+	* Add POSIX file locking operation to high level library
+
+	* Initialize context for unlink of hidden files on umount.  Bug
+	reported by Tim Stoakes
+
+2006-07-14  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Multiple release() calls can race with each other, resulting in
+	the hidden file being deleted before the last release finishes.
+	Bug found and patch tested by Mark Huijgen
+
+2006-07-05  Miklos Szeredi <miklos@szeredi.hu>
+
+	* fusermount: if /dev/fuse doesn't exist, suggest modprobing fuse;
+	this makes sense on systems using udev.  Reported by Szakacsits
+	Szabolcs
+
+2006-06-29  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Released 2.6.0-pre3
+
+2006-06-29  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Support in kernel module for file locking and interruption.  The
+	same functionality is available in official kernels >= 2.6.18
+
+2006-06-28  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Add POSIX file locking support
+
+	* Add request interruption
+
+2006-06-06  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Add missing pthread_rwlock_destroy().  Patch from Remy Blank
+
+2006-06-05  Remy Blank <remy.blank@pobox.com>
+
+	* lib: canonicalize mount point in fuse_helper_opt_proc() so that
+	unmounting succeeds even if mount point was relative.
+
+2006-06-04  Csaba Henk <csaba.henk@creo.hu>
+
+	* lib: fix emergency umount in helper.c when malloc fails.
+	(The way it was done would end up in a segfault.)
+
+2006-06-01  Csaba Henk <csaba.henk@creo.hu>
+
+	* lib: adjust threading related compiler flags.
+	Switch to "-pthread" from "-lpthread" as that's the preferred
+	one on several platforms. Consulted with Terrence Cole and
+	Miklos Szeredi
+
+2006-05-08  Miklos Szeredi <miklos@szeredi.hu>
+
+	* lib: search fusermount in installation directory (bindir) as
+	well as in PATH.
+
+2006-05-03  Miklos Szeredi <miklos@szeredi.hu>
+
+	* lib: fix compilation if CLOCK_MONOTONIC is not defined.
+	Reported by Christian Magnusson
+
+2006-04-23  Csaba Henk <csaba.henk@creo.hu>
+
+	* lib: make FreeBSD mount routine recognize if kernel features
+        backgrounded init and if it does, run the mount util in foreground
+        (similarly to Linux)
+
+2006-04-21  Miklos Szeredi <miklos@szeredi.hu>
+
+	* kernel: fix fput deadlock fix, the lockless solution could lead
+	to "VFS: busy inodes after umount..."
+
+	* kernel: fix race between checking and setting file->private_data
+	for the device.  Found by Al Viro
+
+2006-04-11  Miklos Szeredi <miklos@szeredi.hu>
+
+	* kernel: remove request pool, instead allocate requests on
+	demand.  Account the number of background requests, and if they go
+	over a limit, block the allocation of new requests.
+
+	* kernel: fix deadlock if backgrounded request holds the last
+	reference to the super block
+
+	* kernel: don't use fuse_reset_request() during direct I/O
+
+2006-04-06  Csaba Henk <csaba.henk@creo.hu>
+
+	* lib: Let FreeBSD mount option parsing routine recognize "no"
+	prefixes for FUSE specific options as well
+
+2006-04-01  Miklos Szeredi <miklos@szeredi.hu>
+
+	* lib: Add missing rwlock initialization.  Patch by Ryan Bradetich
+
+2006-03-17  Miklos Szeredi <miklos@szeredi.hu>
+
+	* API changes:
+
+	* fuse_main(), fuse_setup() and fuse_new() have an additionl
+	user_data parameter
+
+	* fuse_mount() returns a 'struct fuse_chan' pointer instead of a
+	file descriptor
+
+	* fuse_unmount() receives a 'struct fuse_chan' pointer.  It
+	destroys the given channel
+
+	* fuse_teardown() no longer has a file descriptor parameter
+
+	* new exported functions: fuse_session_remove_chan(),
+	fuse_get_session(), fuse_daemonize()
+
+	* fuse_chan_recv() may now return a new channel which will be used
+	to send the reply
+
+2006-03-16  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Released 2.6.0-pre2
+
+2006-03-16  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Don't unmount if already unmounted.  This fixes a problem seen
+	in the following situation: Lazy unmount a busy filesystem; Mount
+	a new one in top; When the first finally unmounts, the second also
+	unmounts.  Reported by Franco Broi
+
+2006-03-15  Miklos Szeredi <miklos@szeredi.hu>
+
+	* lowlevel lib: use indirect function calls instead of a
+	switch/case construct.  Besides increased efficiency it helps
+	maintainability & readability too.  Patch from Florin Malita
+
+2006-03-13  Miklos Szeredi <miklos@szeredi.hu>
+
+	* kernel: replace global spinlock with a per-connection spinlock
+
+2006-03-10  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix source compatibility breakage for fuse_unmount().  Report
+	from Yura Pakhuchiy
+
+2006-03-02  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix O_ASYNC handling in fuse_dev_release().  From Jeff Dike
+
+2006-03-01  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Add O_ASYNC and O_NONBLOCK support to FUSE device.  Patch by
+	Jeff Dike
+
+	* Renamed fuse_chan_receive() to fuse_chan_recv() and changed
+	interface to return -errno in case of error.
+
+2006-03-01  Csaba Henk <csaba.henk@creo.hu>
+
+	* libfuse: pass device file descriptor to fuse_unmount(), rewrite
+	FreeBSD implementation so that it uses libc (sysctl backed) instead
+	of an embdedded script (kmem backed). Adjust the control flow of
+	hello_ll so that device doesn't get closed before unmount attempt.
+
+2006-02-25  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Lowlevel lib: return all-zero statvfs data if filesystem doesn't
+	implement method.  This is needed on FreeBSD, and nicer on Linux
+	too.  Highlevel lib already did this.  Reported by Csaba Henk
+
+	* Fix negative entry handling.  There was a bug, that negative
+	lookups with timeouts (nodeid == 0) returned -EIO.
+
+2006-02-23  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix race between RELEASE and UNLINK, which might leave
+	.fuse_hidden* files around
+
+2006-02-21  Miklos Szeredi <miklos@szeredi.hu>
+
+	* fusexmp_fh: implement flush() method and call close() on the
+	open file descriptor.  This is needed if used on an NFS
+	filesystem, which buffers data until file is closed.  Franco Broi
+	spotted the situation when 'cp -p' failed to set the modification
+	time because of this.
+
+2006-02-20  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Released 2.6.0-pre1
+
+2006-02-19  Miklos Szeredi <miklos@szeredi.hu>
+
+	* libfuse: fix use-after-free bug in interruptred reply_entry().
+	Patch from John Muir
+
+	* libfuse: fix wrong symbol versioning for fuse_mount.  Debian bug
+	ID: 352631.  Found by Stéphane Rosi
+
+2006-02-17  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Lowlevel lib: Unify fuse_dirent_size() and fuse_add_dirent()
+	into a single function fuse_add_direntry().  This cleans up the
+	interface and makes it possible to do stacking.
+
+2006-02-16  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix rare race betweeen abort and release caused by failed iget()
+	in fuse_create_open().
+
+	* Add 'ac_attr_timeout' option e.g. for filesystems which do their
+	own attribute caching.
+
+2006-02-15  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Work around FreeBSD runtime linker "feature" which binds an old
+	version of a symbol to internal references if the symbol has more
+	than one version.  This resulted in infinite recursion in
+	fuse_lowlevel_new_compat25().
+
+2006-02-10  Csaba Henk <csaba.henk@creo.hu>
+
+	* Refine clock_gettime() querying so that linker options
+	shall be set as it's appropriate for the target platform.
+
+2006-02-09  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix udev rule syntax.  Reported by Nix
+
+2006-02-08  Miklos Szeredi <miklos@szeredi.hu>
+
+	* In some cases udev rule seems to be ineffective when installed
+	as 40-fuse.rules but work as 60-fuse.rules.  Reported by John Hunt
+
+2006-02-03  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix compilation when build directory is different from source
+	directory.  Reported by Frédéric L. W. Meunier
+
+2006-02-02  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix even bigger bug introduced in fix for request_end() on
+	2006-01-14.  Reported by Gal Rosen
+
+2006-01-30  Miklos Szeredi <miklos@szeredi.hu>
+
+	* highlevel-lib: add 'auto_cache' option.  This caches file data
+	based on modification time and size
+
+2006-01-20  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Sanitize storage type and help message in mount_bsd.c.  Patch
+	from Csaba Henk
+
+	* fuse_opt: add new helper constants FUSE_OPT_KEY_KEEP and
+	FUSE_OPT_KEY_DISCARD
+
+	* Add options 'max_readahead', 'sync_read' and 'async_read'
+
+	* Kernel ABI version 7.6:
+
+	* Negotiate the 'max_readahead' value and 'async_read' flags with
+	userspace in the INIT method
+
+	* Add connection info to ->init() methods to both lowlevel and
+	highlevel API
+
+	* Fall back to synchronous read() behavior if either library or
+	userspace filesystem is using the old interface version.  This is
+	needed so non-updated filesystems won't be confused by the
+	different read() behavior
+
+2006-01-19  Miklos Szeredi <miklos@szeredi.hu>
+
+	* lib: if "fsname=" option was given, pass it to fusermount
+
+	* fuse_opt: add new fuse_opt_insert_arg() function, which is
+	needed by filesystems to implement some argument manipulations
+	correctly
+
+	* fuse_opt: fix memory leak in handling "--" option
+
+2006-01-18  Miklos Szeredi <miklos@szeredi.hu>
+
+	* kernel: fix detection of case when fuse is not configured into
+	the kernel either as module or built-in
+
+	* fuse_opt.h: fix incompatibility with C++ compilers by renaming
+	'template' structure member to 'templ'.  Reported by Takashi Iwai
+
+	* fuse.h: fix compatibility bugs.  Patch by Yura Pakhuchiy
+
+	* kernel: support version 2.6.16 (i_sem -> i_mutex)
+
+2006-01-16  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Added (again) asynchronous readpages support
+
+	* Each connection now shows up under /sys/fs/fuse/connections
+
+	* Connection attributes exported to sysfs: 'waiting' number of
+	waiting requests; 'abort' abort the connection
+
+	* Connection may be aborted through either the sysfs interface or
+	with 'umount -f mountpoint'
+
+2006-01-14  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Released 2.5.0
+
+2006-01-14  Miklos Szeredi <miklos@szeredi.hu>
+
+	* kernel: fix a couple of bugs
+
+	* Order of request_end() and fuse_copy_finish() was wrong.
+	Posthumous note: Franco Broi managed to exploit this, though it
+	seemed quite impossible
+
+	* request_end() used request pointer after decrementing refcount
+
+	* Clearing ->connected or ->mounted connection flags could race
+	with setting other bitfields not protected with a lock
+
+2006-01-10  Miklos Szeredi <miklos@szeredi.hu>
+
+	* kernel: add necessary compile flags for 2.4.X/x86_64.
+	Report from Sean Ziegeler
+
+2006-01-09  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Released 2.5.0-pre2
+
+2006-01-09  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Applied patch from Csaba Henk, to update mount_bsd to new
+	fuse_mount() semantics
+
+	* Ignore auto,noauto,... options in mount.fuse.  Reported by Frank
+	Steiner and Don Taber
+
+	* fusermount: add 'dirsync' mount option
+
+2006-01-07  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Improved help reporting and added version reporting to library
+
+2006-01-06  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Change working directory to "/" even if running in the
+	foreground.  Patch from Jonathan Brandmeyer
+
+	* Changed lots of functions to use 'struct fuse_args' instead of
+	separate argc and argv
+
+	* Added fuse_parse_cmdline(), fuse_set_signal_handlers() and
+	fuse_remove_signal_handlers() functions, so that it's now pretty
+	easy to get all the functionality of fuse_main() with a filesystem
+	using the lowlevel API.
+
+2006-01-02  Miklos Szeredi <miklos@szeredi.hu>
+
+	* mount.fuse: the 'user' option should be ignored. Report and
+	solution from Mattd.
+
+	* mount.fuse: export PATH in the right place. Report and patch
+	from Hannes Schweizer
+
+2005-12-16  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Clean up the option parsing interface slightly, by creating an
+	"argument list" structure, that contains the argument vector and
+	count
+
+2005-12-15  Miklos Szeredi <miklos@szeredi.hu>
+
+	* fusermount: check if /mnt/mtab is a symlink and don't modify it
+	in that case
+
+	* kernel: simplify request size limiting. INIT only contains
+	maximum write size, maximum path component size remains fixed at
+	1024 bytes, and maximum xattr size depends on read buffer.
+
+2005-12-14  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix readdir() failure on x86_64, of 32bit programs compiled
+	without largefile support.  Bug report and help from Anthony
+	Kolasny
+
+	* If lookup returns invalid mode, return -EIO instead of creating
+	a regular file
+
+	* Add current output argument vector to option processing
+	function
+
+2005-12-12  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix stale code in ifdef FreeBSD.  Patch from Csaba Henk
+
+2005-12-09  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Released 2.5.0-pre1
+
+2005-12-09  Miklos Szeredi <miklos@szeredi.hu>
+
+	* libfuse: added option parsing interface, defined in
+	<fuse_opt.h>.
+
+2005-12-07  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Return EIO for file operations (read, write, fsync, flush) on
+	open files whose inode has become "bad".  Inodes will be marked
+	"bad" if their type changes.  Bug report by Csaba Henk
+
+2005-12-06  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Use bigger request buffer size.  write() did not work on archs
+	with > 4k page size, Bug report by Mark Haney
+
+	* ABI version 7.5:
+
+	* Extend INIT reply with data size limits
+
+2005-12-02  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix memory leak in fuse_read_cmd()/fuse_process_cmd().  Bug
+	reported by Vincenzo Ciancia
+
+	* Handle exit-by-umount in fuse_read_cmd()
+
+2005-11-29  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Check if '-msoft-float' option is supported by compiler when
+	configuring for a 2.4.x kernel.  Bug report by Mark Haney
+
+	* In multithreaded loop send a TERM signal to the main thread if
+	one of the other threads exit.  Needed on FreeBSD for a clean exit
+	on umount.  Should not cause any harm on Linux either
+
+2005-11-28  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix bug in 32-bit file handle compatibility
+
+2005-11-27  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Block TERM, INT, HUP and QUIT signals in all but the main
+	thread.  According to POSIX it's not specified which thread will
+	receive these signals.
+
+	* Kernel changes:
+
+	* Check for directory aliasing on mkdir, not just on lookup
+
+	* Check for special node ID values in create+open operation
+
+	* Sync with -mm: readv, writev, aio_read and aio_write methods
+	added to file operations
+
+	* Cleanups: lookup code, page offset calculation
+
+	* ABI stepped to 7.4, changes:
+
+	* frsize member added to fuse_kstatfs structure
+
+	* added support for negative entry caching: on lowlevel API if
+	fuse_entry_param::ino is set to zero in reply to a lookup request,
+	the kernel will cache the dentry for the specified amount of time.
+
+	* libfuse: added 'negative_timeout' option: specifies how much
+	negative entries should be cached.  Default is zero, to be
+	compatible with prior versions
+
+2005-11-22  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Add detection of mainline FUSE code in running kernel
+
+2005-11-21  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Don't use async cancelation in multithreaded loop.  This makes
+	it more portable to systems where read() is not async cancel safe.
+	Report from Andriy Gapon
+
+2005-11-20  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Warn if API version 11 compatibility is requested
+
+2005-11-17  Miklos Szeredi <miklos@szeredi.hu>
+
+	* More FreeBSD merge
+
+	* fusermount: don't allow mountpoints with '\n', '\t', or '\\' in
+	them, because it corrupts /etc/mtab.  Found by Thomas Biege
+	CVE-2005-3531
+
+	* libfuse: don't use system() to invoke 'fusermount -u ...'
+	because it breaks mountpoints with spaces in them into multiple
+	arguments
+
+2005-11-16  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Merge library part of FreeBSD port.  Patch by Csaba Henk
+
+2005-11-11  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Use 64bit type for file handle, so the full range supported by
+	the kernel interface is available to applications
+
+2005-11-10  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Moved mountpoint argument checking from fuse_parse_cmdline() to
+	fuse_mount() in preparation to FreeBSD merge.
+
+2005-11-08  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Remove unneeded close() from fuse_teardown().  Spotted by Csaba
+	Henk.
+
+2005-11-07  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Make the statfs change backwards compatible.
+
+2005-11-06  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Change ->statfs() method to use 'struct statvfs' instead of
+	'struct statfs'.  This makes the API more portable since statvfs()
+	is defined by POSIX.
+
+2005-10-28  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Add fgetattr() method, which currently will only be called after
+	a successful call to a create() method.
+
+2005-10-26  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Change kernel ABI version to 7.3
+
+	* Add ACCESS operation.  This is called from the access() system
+	call if 'default_permissions' mount option is not given, and is
+	not called on kernels 2.4.*
+
+	* Add atomic CREATE+OPEN operation.  This will only work with
+	2.6.15 (presumably) or later Linux kernels.
+
+	* Add ftruncate() method.  This will only work with 2.6.15
+	(presumably) or later Linux kernels.
+
+	* Fix kernel module compile if kernel source and build directories
+	differ.  Report and initial patch by John Eastman
+
+2005-10-18  Miklos Szeredi <miklos@szeredi.hu>
+
+	* lib: optimize buffer reallocation in fill_dir.
+
+2005-10-17  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Released 2.4.1
+
+2005-10-14  Miklos Szeredi <miklos@szeredi.hu>
+
+	* libfuse: add debug for write result (by Shaun Jackman) and
+	warnings for too large read/write result
+
+2005-10-11  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Spelling fixes, thanks to Ioannis Barkas
+
+2005-10-10  Miklos Szeredi <miklos@szeredi.hu>
+
+	* fuse_common.h: use extern "C".  Thanks to Valient Gough for the
+	patch
+
+2005-10-07  Miklos Szeredi <miklos@szeredi.hu>
+
+	* highlevel-lib: init() and destroy() methods didn't have an
+	initialized fuse_context.  Bug reported by Tim Stoakes
+
+2005-10-04  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Released 2.4.0
+
+2005-10-03  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Add documentation to fuse_lowlevel.h
+
+	* API cleanups:
+
+	* Remove definitions of unused FATTR_CTIME / FUSE_SET_ATTR_CTIME
+
+	* Move fuse_mount() and fuse_unmount() to fuse_common.h
+
+	* Change the return type of fuse_reply_none() from int to void.
+
+2005-09-30  Miklos Szeredi <miklos@szeredi.hu>
+
+	* kernel: NFS exporting leaked dentries.  Bug found and fixed by
+	Akshat Aranya.
+
+2005-09-29  Miklos Szeredi <miklos@szeredi.hu>
+
+	* fusermount: fix error message, when unable to open /dev/fuse.
+	Report by Balázs Pozsár
+
+2005-09-28  Miklos Szeredi <miklos@szeredi.hu>
+
+	* UClibc fixes from Christian Magnusson
+
+2005-09-27  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Added NAME="%k" to util/udev.rules.  Fix by Mattias Wadman.
+
+2005-09-26  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Released 2.4.0-rc1
+
+2005-09-26  Miklos Szeredi <miklos@szeredi.hu>
+
+	* fusermount: allow user umount in the case when /etc/mtab is a
+	symlink to /proc/mounts.  Reported by Balázs Pozsár.
+
+2005-09-23  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Check for special node ID values in lookup and creation
+
+2005-09-22  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Slight optimization in returning EINVAL error in case of an open
+	with O_DIRECT flag.
+
+2005-09-20  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Remove '--enable-auto-modprobe' configure flag.  Module
+	auto-loading is now handled by the kernel.
+
+2005-09-15  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Install UDEV rule file, so /dev/fuse is created with mode 0666.
+	Help from Jens M. Noedler.
+
+2005-09-14  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Add memory cleanup on thread exit
+
+2005-09-13  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Set umask to zero in fusexmp and fusexmp_fh, so that
+	files/directories are created with the requested mode.
+
+2005-09-12  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Don't ignore read error in multithreaded loop
+
+2005-09-08  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Released 2.4.0-pre2
+
+2005-09-08  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Revert lock and access operations.  Postpone these until 2.5.
+
+2005-09-02  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix compile warning on 2.6.13 and later
+
+	* Fix compilation on old kernels
+
+2005-08-19  Miklos Szeredi <miklos@szeredi.hu>
+
+	* lib: always refresh directory contents after rewinddir() to
+	conform to SUS.  Bug found by John Muir.
+
+2005-08-15  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Released 2.4.0-pre1
+
+2005-08-14  Miklos Szeredi <miklos@szeredi.hu>
+
+	* lib: cleaned up (or messed up, depending on your POV) the low
+	level library API.  Hopefully this is close to the final form.
+
+2005-08-05  Miklos Szeredi <miklos@szeredi.hu>
+
+	* fusermount: don't allow empty mountpoint argument, which defeats
+	automatic umounting in fuse_main().  Bugreport by Václav Jůza
+
+2005-08-03  Miklos Szeredi <miklos@szeredi.hu>
+
+	* fix warnings in fuse.h and fuse_lowlevel.h if -Wshadow compiler
+	option is used (Paul Alfille).
+
+2005-08-02  Miklos Szeredi <miklos@szeredi.hu>
+
+	* highlevel-lib: added mount options "attr_timeout" and
+	"entry_timeout".  These options control the length of time file
+	attributes and entries (names) are cached.  Both default to 1.0
+	second.
+
+	* kernel: correctly handle zero timeout for attributes and entries
+
+2005-08-01  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Added missing symbols to versionscript (Joshua J. Berry)
+
+	* kernel: implement two flags, open can set: 'direct_io' and
+	'keep_cache'.  These correspond exactly to mount options
+	'direct_io' and 'kernel_cache', but allow a per-open setting.
+
+	* Move 'direct_io' and 'kernel_cache' mount option handling to
+	userspace.  For both mount options, if the option is given, then
+	the respective open flag is set, otherwise the open flag is left
+	unmodified (so the filesystem can set it).
+
+	* lib (highlevel): make open method optional
+
+2005-07-28  Miklos Szeredi <miklos@szeredi.hu>
+
+	* kernel: invalidate attributes for read/readdir/readlink
+	operations
+
+	* kernel: detect newer UML kernels
+
+2005-07-26  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Make the installation path of fuse.ko and mount.fuse
+	configurable through INSTALL_MOD_PATH and MOUNT_FUSE_PATH
+	environment variables.  Requirement and help from Csaba Henk.
+
+2005-07-22  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix bug, that causes filesystem requests to hang when unique
+	request counter becomes negative.  This happens after
+	2,147,483,648 operations, so most people won't care.  Thanks to
+	Franco Broi for the report and testing.
+
+2005-07-21  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Don't change mtime/ctime/atime to local time on read/write.
+	Bug reported by Ben Grimm
+
+	* Install fuse_common.h and fuse_lowlevel.h.  Report by Christian
+	Magnusson
+
+	* fusermount: use getopt_long() for option parsing.  It allows the
+	use of '--' to stop argument scanning, so fusermount can now
+	operate on directories whose names begin with a '-'.  Patch by
+	Adam Connell
+
+2005-07-15  Miklos Szeredi <miklos@szeredi.hu>
+
+	* fusermount: add '-v', '--version' and '--help' options
+
+	* add inode based API
+
+2005-07-12  Miklos Szeredi <miklos@szeredi.hu>
+
+	* lib: don't block signals in worker threads.  Problem noticed by
+	Usarin Heininga
+
+2005-07-07  Miklos Szeredi <miklos@szeredi.hu>
+
+	* lib: don't allow both 'allow_other' and 'allow_root' options to
+	be given
+
+2005-07-06  Miklos Szeredi <miklos@szeredi.hu>
+
+	* fusermount: check if mountpoint is empty (only '.' and '..' for
+	directories, and size = 0 for regular files).  If "nonempty"
+	option is given, omit this check.  This is useful, so users don't
+	accidentally hide data (e.g. from backup programs).  Thanks to
+	Frank van Maarseveen for pointing this out.
+
+	* kernel: check if mandatory mount options ('fd', 'rootmode',
+	'user_id', 'group_id') are all given
+
+	* lib: simplify 'readdir_ino' handling
+
+	* lib: add mount options 'umask=M', 'uid=N', 'gid=N'
+
+2005-07-03  Miklos Szeredi <miklos@szeredi.hu>
+
+	* kernel: clean up 'direct_io' code
+
+2005-06-28  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Add 'mount.fuse' written by Petr Klima
+
+	* '/dev/fuse' is created by 'make install' if does not yet exist
+
+2005-06-20  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix UCLIBC compile error.  Patch by Christian Magnusson
+
+2005-06-08  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Enable the auto-loading of the module via access to the
+	corresponding device file.  Patch by Takashi Iwai.
+
+	* Allow mounting a regular file (over a regular file) for
+	unprivleged users.
+
+	* Do not create temporary device file.  Require "/dev/fuse" to
+	exist, and be readable/writable by the mounting user.
+
+2005-06-02  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Released 2.3.0
+
+2005-06-02  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix serious information leak: if the filesystem returns a short
+	byte count to a read request, and there are non-zero number of
+	pages which are not filled at all, these pages will not be zeroed.
+	Hence the user can read out previous memory contents.  Found by
+	Sven Tantau.
+
+2005-05-27  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Add "readdir_ino" mount option, which tries to fill in the d_ino
+	field in struct dirent.  This mount option is ignored if "use_ino"
+	is used.  It helps some programs (e.g. 'pwd' used over NFS from a
+	non-Linux OS).  Patch by David Shaw.
+
+2005-05-12  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Released 2.3-rc1
+
+2005-05-12  Miklos Szeredi <miklos@szeredi.hu>
+
+	* File save in krusader and other editors doesn't work with sshfs,
+	because open() is interrupted by a periodic signal, and open()
+	restarts forever, without any progress.  This could just be fixed
+	in open(), but the problem is more generic: if signals are
+	received more often than the filesystem can get the request to
+	userspace, it will never finish.  This is probably only a
+	theoretical problem, nevertheless I'm removing the possibility to
+	interrupt requests with anything other than SIGKILL, even before
+	being sent to userspace.  Bugreport by Eduard Czimbalmos.
+
+2005-05-09  Miklos Szeredi <miklos@szeredi.hu>
+
+	* libfuse: add "tree_lock" rwlock, that is locked for write in
+	rename, unlink and rmdir, and locked for read in all other
+	operations.  This should fix the rename/release race reported by
+	Valient Gough and others.  The solution is very coarse, a finer
+	grained locking scheme could be implemented, but it would be much
+	more complex.  Let's see whether this is good enough.
+
+2005-05-09  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Released 2.3-pre7
+
+2005-05-08  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Better fix for out of order FORGET messages.  Now the
+	LOOKUP/FORGET messages are balanced exactly (one FORGET can
+	balance many lookups), so the order no longer matters.  This
+	changes the kernel ABI slightly, but the library remains backward
+	compatible.
+
+2005-05-06  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix abort for out of order FORGET messages.  Again.  Spotted by
+	Franco Broi again.  Sorry :)
+
+2005-04-29  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Released 2.3-pre6
+
+2005-04-29  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Make fusermount work with fuse kernel modules not yet supporting
+	the "group_id" option (added for the purpose of stricter
+	permission checking).
+
+2005-04-28  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Check for hard-linked directories in lookup.  This could cause
+	problems in the VFS, which assumes that such objects never exist.
+
+	* Make checking of permission for other users more strict.  Now
+	the same privilege is required for the mount owner as for ptrace
+	on the process performing the filesystem operation.
+
+2005-04-23  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Released 2.3-pre5
+
+2005-04-22  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Add -msoft-float to kernel module compile flags for 2.4.X.  This
+	is needed on certain architectures.  Report from Chris Kirby
+
+	* Fix buggy behavior of open(..., O_CREAT|O_EXCL) if interrupted.
+	Reported by David Shaw
+
+	* Remove "allow_root" option from kernel module, and implement
+	it's functionality in the library
+
+	* Fix Oops caused by premature release of fuse_conn.  Clean up
+	related code, to be more readable
+
+	* Sendfile should not use page cache if "direct_io" mount option
+	is given
+
+2005-04-08  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix Oops in case of nfs export.  Spotted by David Shaw
+
+	* Fix another Oops in case of write over nfs with direct_io turned
+	on.  Again spotted by David Shaw
+
+2005-04-07  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Released 2.3-pre4
+
+2005-04-07  Miklos Szeredi <miklos@szeredi.hu>
+
+	* lib: finalized new readdir() interface, which now supersedes the
+	getdir() method.
+
+2005-04-03  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Released 2.3-pre3
+
+2005-04-03  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Implement backward compatibility with version 5 kernel ABI
+
+2005-04-01  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Released 2.3-pre2
+
+2005-04-01  Miklos Szeredi <miklos@szeredi.hu>
+
+	* kernel: fix dirent offset handling
+
+	* lib: add readdir and releasedir methods
+
+	* lib: use fh field of fuse_file_info in opendir, readdir,
+	releasedir and fsyncdir methods
+
+	* lib: check kernel API version and bail out of it's old.  This
+	will be properly fixed in the next release
+
+2005-03-31  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Released 2.3-pre1
+
+2005-03-31  Miklos Szeredi <miklos@szeredi.hu>
+
+	* kernel API: add padding to structures, so 64bit and 32bit
+	compiler will return the same size
+
+	* kernel API: add offset field to fuse_dirent.  This will allow
+	more sophisticated readdir interface for userspace
+
+	* kernel API: change major number to 6
+
+	* kernel: fix warnings on 64bit archs
+
+	* kernel: in case of API version mismatch, return ECONNREFUSED
+
+2005-03-24  Miklos Szeredi <miklos@szeredi.hu>
+
+	* kernel: trivial cleanups
+
+2005-03-21  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Add fsyncdir() operation
+
+2005-03-19  Miklos Szeredi <miklos@szeredi.hu>
+
+	* kernel: add locking to background list (fixes previous fix)
+
+2005-03-18  Miklos Szeredi <miklos@szeredi.hu>
+
+	* kernel: fix bug which could cause leave busy inodes after
+	unmount, and Oops.
+
+2005-03-08  Miklos Szeredi <miklos@szeredi.hu>
+
+	* examples: add -lpthread to link flags to work around valgrind
+	quirk
+
+	* lib: don't exit threads, so cancelation doesn't cause segfault
+
+2005-03-04  Miklos Szeredi <miklos@szeredi.hu>
+
+	* kernel: fix nasty bug which could cause an Oops under certain
+	situations.  Found by Magnus Johansson
+
+2005-02-28  Miklos Szeredi <miklos@szeredi.hu>
+
+	* libfuse: added opendir() method.  This can be used in case
+	permission checking in getdir() is too late.  Thanks to Usarin
+	Heininga for pointing out this deficiency
+
+	* libfuse: added init() and destroy() methods to fuse_operations
+
+	* kernel: llseek() method for files and directories made explicit
+
+	* kernel: fixed inode leak in NFS export in case of nodeid
+	wrapping
+
+2005-02-15  Miklos Szeredi <miklos@szeredi.hu>
+
+	* libfuse: clean up some unitialized memory found with valgrind
+
+	* Add -lpthread to Libs in fuse.pc.  Valgrind seems to need an
+	explicitly linked libpthread for applications
+
+2005-02-10  Miklos Szeredi <miklos@szeredi.hu>
+
+	* fusermount: set umask, otherwise /etc/mtab will have
+	unpredictable permission.  Spotted by Jindrich Kolorenc
+
+	* fusermount: set owner and group of /etc/mtab to original values
+	on unmount
+
+	* libfuse: add 'use_ino' option to help.  Patch by Valient Gough
+
+2005-02-07  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Cleaned up directory reading (temporary file is not used)
+
+2005-02-02  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Released 2.2
+
+2005-02-02  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix possible race when operation is interrupted
+
+2005-01-28  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix compilation on 2.6.7
+
+2005-01-26  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Released 2.2-pre6
+
+2005-01-26  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix bug in link() operation which caused the wrong path to be
+	passed as the first argument.  Found by Anton Altaparmakov
+
+2005-01-21  Miklos Szeredi <miklos@szeredi.hu>
+
+	* LIB: fix double reply in readdir operation
+
+	* fusermount: fix uid checking bug.  Patch by Adam Connell
+
+	* KERNEL: fix compile on various RedHat patched 2.4 kernels.
+	Patch by Keshava Gowda
+
+2005-01-20  Miklos Szeredi <miklos@szeredi.hu>
+
+	* KERNEL: provide correct llseek semantics for fuse device (fixes
+	a bug on Progeny 2.4.20 kernel).  Reported by Valient Gough
+
+2005-01-20  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Released 2.2-pre5 (matches kernel 2.6.11-rc1-mm2)
+
+2005-01-18  Miklos Szeredi <miklos@szeredi.hu>
+
+	* KERNEL ABI: remove GETDIR operation, and add OPENDIR, READDIR
+	and RELEASEDIR.  This ends the ugly hack of passing a file
+	descriptor to the kernel, and actually makes the code simpler.
+
+2005-01-17  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Released 2.2-pre4
+
+2005-01-17  Miklos Szeredi <miklos@szeredi.hu>
+
+	* fusermount: remove capability setting, which was the cause of
+	problems for some users.  It seems that FS related capabilities
+	are removed by setfsuid(), so this isn't even needed.
+
+2005-01-15  Miklos Szeredi <miklos@szeredi.hu>
+
+	* fix compilation on 2.4 kernels (reported by Valient Gough)
+
+	* fix failure to unmount bug (found by David Shaw)
+
+	* fusermount: improve parsing of /etc/fuse.conf
+
+2005-01-13  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Remove 'mount_max' and 'user_allow_other' module options.  These
+	are now checked by fusermount, and can be set in /etc/fuse.conf
+
+	* KERNEL: change check for fsid == 0 to capable(CAP_DAC_OVERRIDE)
+
+2005-01-11  Miklos Szeredi <miklos@szeredi.hu>
+
+	* KERNEL: fix possible inode allocation problem, where
+	sizeof(struct inode) is not aligned (found by Mike Waychison)
+
+	* KERNEL: use new follow_link/put_link methods
+
+	* KERNEL: cosmetic fixes
+
+2005-01-10  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Released 2.2-pre3
+
+2005-01-10  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Add missing code that was accidently left out
+
+2005-01-09  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Released 2.2-pre2
+
+2005-01-09  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Change "uid" mount option to "user_id" to avoid confusion with a
+	mount option "uid" commonly used by many filesystems
+
+2005-01-09  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Released 2.2-pre1
+
+2005-01-09  Miklos Szeredi <miklos@szeredi.hu>
+
+	* If FUSE is configured in the kernel, don't build it by default
+
+2005-01-07  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Compile fix by Christian Magnusson
+
+2005-01-05  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix compilation for 2.6.{0-5} kernels
+
+2005-01-04  Miklos Szeredi <miklos@szeredi.hu>
+
+	* KERNEL: if request is interrupted, still keep reference to used
+	inode(s) and file, so that FORGET and RELEASE are not sent until
+	userspace finishes the request.
+
+	* remove /{sys,proc}/fs/fuse/version, and instead add an INIT
+	request with the same information, which is more flexible,
+	simpler, works on embedded systems.
+
+2004-12-16  Miklos Szeredi <miklos@szeredi.hu>
+
+	* KERNEL ABI: update interface to make it independent of type
+	sizes.  This will help on 64 bit architectures which can run
+	legacy 32 bit applications.
+
+	* KERNEL ABI: add "len" field to request headers.  This will allow
+	sending/receiving requests in multiple chunks.
+
+	* KERNEL: handle file type change more intelligently
+
+	* LIB: "-o debug" option should disable backgrounding (fix by
+	Fabien Reygrobellet)
+
+2004-12-13  Miklos Szeredi <miklos@szeredi.hu>
+
+	* KERNEL: invalidate dentry/attributes if interrupted request
+	could leave filesystem in an unknown state.
+
+2004-12-12  Miklos Szeredi <miklos@szeredi.hu>
+
+	* KERNEL: lots of cleanups related to avoiding possible deadlocks.
+	These will cause some regressions, but stability is considered
+	more important.  If any of these features turns out to be
+	important, it can be readded with the deadlock problems addressed.
+
+	* Make all requests interruptible (only with SIGKILL currently).
+	This can be used to break any deadlock produced by the userspace
+	filesystem accessing it's own exported files.  The RELEASE request
+	is special, because if it's interrupted before sending it to
+	userspace it is still sent, but the reply is not awaited.
+
+	* If request is interrupted before being sent to userspace, and if
+	it hasn't yet got any side effects, it is always restarted,
+	regardless of the SA_RESTART flag.  This makes these interruptions
+	transparent to the process.
+
+	* Remove shared-writable mmap support, which was prone to an
+	out-of-memory deadlock situation
+
+	* Remove INVALIDATE userspace initiated request
+
+	* Make readpages() synchronous.  Asynchronous requests are
+	deadlock prone, since they cannot be interrupted.
+
+	* Add readv/writev support to fuse device operations
+
+	* Remove some printks, which userspace FS can use for a DoS
+	against syslog
+
+	* Remove 'large_read' mount option from 2.6 in kernel, check it in
+	fusermount instead
+
+	* LIB: improve compatibility with a fuse.h header installed in
+	${prefix}/include which in turn includes the real header.
+
+	* LIB: improve compatibility by defining fuse_main() (which is now
+	not used), so old configure scripts find it.
+
+2004-12-10  Miklos Szeredi <miklos@szeredi.hu>
+
+	* When mounting on a subdirectory of / don't duplicate slashes at
+	the beggining of path (spotted by David Shaw)
+
+2004-12-09  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix bug causing garbage in mount options (spotted by David Shaw)
+
+2004-12-07  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Add 'writepage' flag to 'fuse_file_info'.
+
+	* More comments in fuse.h
+
+	* Get rid of double underscores
+
+2004-12-04  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Add -D_FILE_OFFSET_BITS=64 to cflags provided by pkg-config
+
+	* helper.c: add -ho option, which only displays the options not
+	the usage header.  This can be used by filesystems which have
+	their own options.
+
+2004-12-03  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Add source compatibility to 2.1 and 1.1 APIs.  To select betwen
+	versions simply define FUSE_USE_VERSION to 22, 21 or 11 before
+	including the fuse header
+
+	* Add binary compatibility to 2.1 version of library with symbol
+	versioning
+
+2004-12-03  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Released 2.1
+
+2004-12-01  Miklos Szeredi <miklos@szeredi.hu>
+
+	* kernel: clean up writing functions
+
+	* kernel: no allocation on write in direct_io mode
+
+	* move linux/fuse.h to fuse_kernel.h
+
+2004-11-30  Miklos Szeredi <miklos@szeredi.hu>
+
+	* kernel: clean up reading functions
+
+2004-11-29  Miklos Szeredi <miklos@szeredi.hu>
+
+	* kernel: make readpage() uninterruptible
+
+	* kernel: check readonly filesystem flag in fuse_permission
+
+	* lib: don't die if version file not found and new style device
+	exists
+
+	* lib: add '-r' option, which is short for '-o ro'
+
+	* fusermount: simplify device opening
+
+	* kernel: when direct_io is turend on, copy data directly to
+	destination without itermediate buffer.  More efficient and safer,
+	since no allocation is done.
+
+	* fusermount: fix warning if fuse module is not loaded
+
+	* kernel: use /dev/fuse on 2.4 too
+
+2004-11-26  Miklos Szeredi <miklos@szeredi.hu>
+
+	* libfuse API change: open, read, write, flush, fsync and release
+	are passed a 'struct fuse_file_info' pointer containing the open
+	flags (open and release), and the file handle.  Verion changed to
+	3.0.
+
+2004-11-23  Miklos Szeredi <miklos@szeredi.hu>
+
+	* More cleanups in the kernel
+
+	* The 10,229 charater device number has been assigned for FUSE
+
+	* Version file checking fix (reported by Christian Magnusson)
+
+	* fusermount: opening the fuse device now doesn't need /sys.
+
+	* Optimize reading by controlling the maximum readahead based on
+	the 'max_read' mount option
+
+	* fixes for UCLIBC (Christian Magnusson)
+
+2004-11-19  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Cleaned up kernel in preparation for merge into mainline:
+
+	* Use /sys/fs/fuse/version instead of /proc/fs/fuse/version
+
+	* Use real device (/dev/fuse) instead of /proc/fs/fuse/dev
+
+	* __user annotations for sparse
+
+	* allocate individual pages instead of kmalloc in fuse_readdir,
+	fuse_read and fuse_write.
+
+	* Fix NFS export in case "use_ino" mount option is given
+
+	* Make libfuse and fusermount compatible with future versions
+
+	* fusermount: properly add mount options to /etc/mtab
+
+2004-11-15  Miklos Szeredi <miklos@szeredi.hu>
+
+	* fusermount: do not resolve last component of mountpoint on if it
+	is '.' or '..'.  This new path resolvation is now done on mount as
+	well as unmount.  This enables relative paths to work on unmount.
+
+	* fusermount: parse common mount options like "ro", "rw", etc...
+
+	* Allow module params to be changed through sysfs
+
+2004-11-14  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Released 2.1-pre1
+
+2004-11-14  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix bug in fuse_readpages() causing Oops in certain situations.
+	Bug found by Vincenzo Ciancia.
+
+	* Fix compilation with kernels versions > 2.6.9.
+
+2004-11-11  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Check kernel interface version in fusermount to prevent
+	strangeness in case of mismatch.
+
+	* No need to allocate fuse_conn until actual mount happens
+
+	* Fix potential race between umount and fuse_invalidate
+
+	* Check superblock of proc file in addition to inode number
+
+	* Fix race between request_send_noreply() and fuse_dev_release()
+
+2004-11-10  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Separate configure for the kernel directory
+
+	* Don't allow write to return more than 'count'
+
+	* Extend kernel interface for future use
+
+2004-11-09  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix 'makeconf.sh' to use autoreconf if available
+
+2004-11-08  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Add ino argument to 'fuse_dirfil_t'.  NOTE: This breaks source
+	compatibility with earlier versions.  To compile earier versions
+	just add '-DFUSE_DIRFIL_COMPAT' compile flag or fix the source.
+	Do not use the "use_ino" mount flag with filesystems compiled with
+	FUSE_DIRFIL_COMPAT.
+
+	* Add pkg-config support.  To compile a FUSE based filesystem you
+	can do  "gcc -Wall `pkg-config --cflags --libs fuse` myfs.c -o myfs"
+	or similar.  Note, that the PKG_CONFIG_PATH environment variable
+	usually needs to be set to "/usr/local/lib/pkgconfig".
+
+	* fuse.h is now installed in ${prefix}/include/fuse/
+
+2004-11-02  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Added "use_ino" mount option.  This enables the filesystems to
+	set the st_ino field on files
+
+2004-11-01  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix compile problems with ancient (<=2.4.18) kernels (reported
+	by Jeremy Smith)
+
+	* Add "allow_root" mount option.  Patch by Yaroslav Rastrigin
+
+	* Clear the 'exited' flag when mail loop is finished
+
+2004-10-28  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Make xattr functions work under 2.6 (bug found by Vincenzo
+	Ciancia)
+
+2004-10-26  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Reset request in fuse_flush() (bugreport by David Shaw)
+
+2004-10-21  Miklos Szeredi <miklos@szeredi.hu>
+
+	* fuse_main() now does not exit on error, rather it returns an
+	error code
+
+	* Exported __fuse_setup() and __fuse_teardown() functions, which
+	make it easier to implement a custom event loop.
+
+	* Use daemon() call to background the filesystem after mounting.
+	This function closes the standard input, output and error and
+	changes the current working directory to "/".
+
+2004-10-14  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Released 1.9
+
+2004-10-09  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Don't allow fuse_flush() to be interrupted (bug found by David
+	Shaw)
+
+2004-09-27  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Add PID to fuse_context.  Patch by Steven James
+
+	* Change file handle type to 'unsigned long' in kernel interface
+
+2004-09-22  Miklos Szeredi <miklos@szeredi.hu>
+
+	* A slight API change: fuse_get_context() doesn't need the "fuse"
+	pointer, but the returned context contains it instead.  The
+	fuse_get() function is not needed anymore, so it's removed.
+
+	* Fix mounting and umounting FUSE filesystem under another FUSE
+	filesystem by non-root (bug spotted by Valient Gough)
+
+2004-09-21  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix deadlock in case of memory allocation failure.  Patch by
+	Christian Magnusson
+
+2004-09-16  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Check memory allocation failures in libfuse
+
+2004-09-14  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Check temporary file creation failure in do_getdir().  Bug
+	spotted by Terje Oseberg
+
+2004-09-13  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Allow "large_read" option for 2.6 kernels but warn of deprecation
+
+	* Make requests non-interruptible so race with FORGET is avoided.
+	This is only a temporary solution
+
+	* Support compiling FUSE kernel module on 2.4.x UML kernels
+
+2004-09-09  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix bug in case two FORGETs for the same node are executed in
+	the wrong order.  Bug spotted and endured for months by Franco
+	Broi, and logfile for solution provided by Terje Oseberg
+
+2004-09-01  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Add -D_REENTRANT to the compile flags
+
+	* Add documentation of fuse internals by Terje Oseberg
+
+2004-08-16  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Change release method to be non-interruptible.  Fixes bug
+	causing missing release() call when program which has opened files
+	is killed (reported by Franco Broi and David Shaw)
+
+2004-07-29  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Add fuse_invalidate() to library API
+
+2004-07-26  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Check permissions in setattr if 'default_permissions' flag is
+	set.  Bug spotted by Damjan Lango
+
+2004-07-24  Miklos Szeredi <miklos@szeredi.hu>
+
+	* 'large_read' mount option removed for 2.6 kernels, since the
+	default (dynamic read size) is better
+
+	* Extend kernel API with file handles.  A file handle is returned
+	by open, and passed to read, write, flush, fsync and release.
+	This is currently only used for debug output in the library.
+
+	* Security changes:
+
+	* Change the current directory to the mountpoint before checking
+	the permissions and mount filesystem on "."
+
+	* By default don't modprobe the fuse module for non-root.  The old
+	behavior can be restored with the '--enable-auto-modprobe' flag of
+	./configure
+
+	* By default don't allow shared writable mappings for non-root.
+	The old behavior can be restored with the 'user_mmap=1' module
+	parameter
+
+2004-07-23  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Clean up mount option passing to fusermount and to fuse_new()
+	BEWARE: this changes the userspace API slightly, and the command
+	line usage of programs using fuse_main()
+
+2004-07-20  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Optimize reading under 2.6 kernels by issuing multiple page
+	asynchronous read requests
+
+2004-07-18  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Only use redirty_page_for_writepage() for kernels >= 2.6.6
+
+2004-07-16  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Separate directory entry and inode attribute validity timer
+
+	* New write semaphore to stop page writeback during truncate
+
+	* Fsync now waits for all writes to complete before sending the
+	request
+
+	* Optimization: if a page is completely written by
+	fuse_commit_write(), clear the dirty flag and set the uptodate
+	flag for that page
+
+	* Some memory cleanup at exit
+
+2004-07-13  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Add FUSE_HARD_REMOVE flag, and '-i' option to fuse main, which
+	disable the "hide if open" behavior of unlink/rename.
+
+	* If temporary buffer allocation fails in raw read, fall back to a
+	smaller buffer
+
+2004-07-12  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix bug in do_open() in libfuse: open count was incremented
+	after the reply is sent so it could race with unlink/forget and
+	cause an abort.
+
+2004-07-08  Miklos Szeredi <miklos@szeredi.hu>
+
+	* When performing create or remove operation, refresh the parent's
+	attributes on next revalidate, as i_nlink (and maybe size/time)
+	could be inacurate.
+
+	* Use redirty_page_for_writepage() in fuse_writepage() for skipped
+	pages (2.6 only)
+
+	* Set set_page_dirty address space operation (2.6 only)
+
+2004-07-06  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Minor fix in read:  print debug info even if read size is zero
+
+2004-07-04  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix race between truncate and writepage (fsx-linux now runs
+	without error)
+
+2004-07-02  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix kernel hang on mkfifo under 2.4 kernels (spotted and patch
+	by Mattias Wadman)
+
+	* Added option for direct read/write (-r)
+
+	* Fix revalidate time setting for newly created inodes
+
+	* Remove uid==0 check for '-x' option in fusermount (kernel checks
+	this)
+
+	* fuse_main() only installs handlers for signals (out of INT, HUP,
+	TERM, PIPE), for which no handler has yet been installed
+
+	* Add module option 'user_allow_other' which if set to non-zero
+	will allow non root user to specify the 'allow_other' mount option
+	('-x' option of fusermount)
+
+	* Fix deadlock between page writeback completion and truncate
+	(bug found by Valient Gough with the fsx-linux utility)
+
+2004-07-01  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Change passing fuse include dir to 2.6 kernel make system more
+	robust (fixes compile problems seen on SuSE 9.1 with updated 2.6
+	kernel)
+
+2004-06-30  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Acquire inode->i_sem before open and release methods to prevent
+	concurrent rename or unlink operations.
+
+	* Make __fuse_read_cmd() read only one command.  This allows
+	multiplexing the fuse file descriptor with other event sources
+	using select() or poll() (patch by Jeff Harris)
+
+	* Export 'exited' flag with __fuse_exited() (patch by Jeff Harris)
+
+2004-06-27  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix file offset wrap around at 4G when doing large reads
+
+2004-06-24  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix memory leak in open (Valient Gough)
+
+2004-06-24  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Add "close after delete" support to libfuse (patch by Valient
+	Gough)
+
+	* Cancel all worker threads before exit in multithreaded mode
+
+2004-06-23  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix locking bugs
+
+	* Don't send reply to RELEASE
+
+	* Work with newer libtool (1.5a)
+
+	* Check for st_atim member of struct stat
+
+2004-06-22  Miklos Szeredi <miklos@szeredi.hu>
+
+	* No request allocation needed on inode and file release
+
+2004-06-21  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix possible inode leak in userspace in case of unfinished
+	lookup/mknod/mkdir/symlink/link operation.
+
+2004-06-20  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix some races and cleanups in fuse_read_super()
+
+2004-06-19  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Requests are allocated at open time
+
+2004-06-03  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Build shared library as well as static (using libtool)
+
+	* Change FUSE_MINOR_VERSION from 1 to 0.  I know it's illegal but
+	there has not been a release with the previous minor number, and I
+	hope nobody is using it for anything.
+
+	* Change fuse_main(), so that default behavior is to go into
+	background if mount is successful.  '-f' and '-d' options disable
+	backgrounding.  This fixes the "Why does my FUSE daemon hang?"
+	newbie complaint.
+
+	* Cache ENOSYS (function not implemented) errors on *xattr, flush
+	and fsync
+
+	* Don't call getdir method from open() only from first readdir().
+	Open is sometimes just used to store the current directory
+	(e.g. find)
+
+2004-05-18  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Added flush() call
+
+2004-05-04  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Extended attributes support for 2.4 (patch by Cody Pisto)
+
+2004-04-20  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fixed parser with modversions (Mattias Wadman)
+
+2004-04-19  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Added mount option parser to 2.4 build
+
+2004-04-13  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Replaced binary mount data with text options
+
+	* Show FUSE specific mount options in /proc/mounts
+
+	* Check in fuse.h whether _FILE_OFFSET_BITS is set to 64
+
+2004-04-09  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Check some limits so userspace won't get too big requests
+
+2004-04-05  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Kill compile warning
+
+	* Upgraded user-mount patch for 2.6.5
+
+2004-04-02  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Add detection of user-mode-linux to configure
+
+2004-03-31  Miklos Szeredi <miklos@szeredi.hu>
+
+	* fixed zero size case for getxattr and listxattr
+
+2004-03-30  Miklos Szeredi <miklos@szeredi.hu>
+
+	* new fusermount flag '-z': lazy unmount, default is not lazy
+
+	* Extended attributes operations added (getxattr, setxattr,
+	listxattr, removexattr)
+
+2004-03-25  Miklos Szeredi <miklos@szeredi.hu>
+
+	* If filesystem doesn't define a statfs operation, then an
+	all-zero default statfs is returned instead of ENOSYS
+
+2004-03-24  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Add FS_BINARY_MOUNTDATA filesystem flag for kernels > 2.6.4
+
+2004-03-09  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix for uClinux (Christian Magnusson)
+
+2004-03-02  Miklos Szeredi <miklos@szeredi.hu>
+
+	* fuse_main() adds "-n progname" to the fusermount command line
+
+	* More kernel interface changes:
+
+	* Lookup/getattr return cache timeout values
+
+2004-02-25  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Clean up option parsing in fuse_main()
+
+	* Added fuse_get() function which returns the fuse object created
+	by fuse_main()
+
+2004-02-20  Miklos Szeredi <miklos@szeredi.hu>
+
+	* removed old way of mounting (fusermount mountpoint program)
+
+	* more kernel interface changes:
+
+	* added nanosecond precision to file times
+
+	* removed interface version from mount data
+
+	* added /proc/fs/fuse/version which contains MAJOR.MINOR
+
+2004-02-19  Miklos Szeredi <miklos@szeredi.hu>
+
+	* statfs library API changed to match other methods.  Since this
+	  is not backward compatible FUSE_MAJOR_VERSION is changed to 2
+
+	* kernel interface changes follow:
+
+	* statfs changed to 64 bits, added 'bavail' field
+
+	* add generation number to lookup result
+
+	* optimized mknod/mkdir/symlink/link (no separate lookup is
+	needed)
+
+	* rdev size increased to 32 bits for mknod
+
+	* kernel interface version changed to 3.1
+
+2004-02-18  Miklos Szeredi <miklos@szeredi.hu>
+
+	* user-mount upgraded for 2.6.3 kernel
+
+2004-02-17  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Added user-mount.2.6.2-rc3.patch
+
+	* Add FS_SAFE flag to fuse filesystem
+
+	* fusermount should allow (un)mounting for non-root even if not
+	suid-root
+
+2004-02-12  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Remove MS_PERMISSION mount flag (that means something else now)
+
+2004-02-10  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Added check for i_size_read/write functions to configure.in
+	(patch by Valient Gough)
+
+2004-02-06  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fixed writing >= 2G files
+
+	* Check file size on open (with generic_file_open())
+
+	* Readpage calls flush_dcache_page() after storing data
+
+	* Use i_size_read/write for accessing inode->i_size
+
+	* Make loopback mount of a fuse file work
+
+2004-02-04  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Released 1.1
+
+2004-01-29  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Properly check if the inode exists in fuse_invalidate
+
+2004-01-27  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Added -q option for fusermount
+
+	* fuse_unmount() now uses -q option of fusermount, so no error is
+	printed if the cause of the program exit is that the filesystem
+	has already been unmounted
+
+	* Fix i_nlink correctness after rmdir/unlink
+
+2004-01-26  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Released 1.1-pre2
+
+2004-01-26  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix typo (thanks Marcos Dione)
+
+	* Compile fixes for 2.4 kernels
+
+2004-01-23  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix CONFIG_MODVERSIONS compile on 2.6
+
+2004-01-22  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Write all pending data before a RELEASE operation
+
+	* Suppress 'Bad file descriptor' warning on exit
+
+	* Replaced fusermount option '-d xxx' with '-n xxx' so it doesn't
+	get confused with '-d' of fuse_main() (sorry about this change)
+
+	* New fusermount option '-l' which enables big reads.  Big reads
+	are now disabled by default.
+
+	* fuse_main() can accept fusermount arguments after a '--'
+
+2004-01-19  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Support for exporting filesystem over NFS (see README.NFS)
+
+2004-01-14  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Support non-blocking writepage on 2.6.  This makes FUSE behave
+	much more nicely in low-memory situations
+
+	* Fix 32-bit dev handling in getattr and mknod for 2.6 kernels.
+	(Note: the mknod method does not yet use 32bit device number)
+
+2004-01-13  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Code cleanups
+
+2004-01-07  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Released 1.1-pre1
+
+2004-01-06  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Integrated 2.6 kernel support patch by Michael Grigoriev
+
+	* Improvements and cleanups for 2.6 kernels
+
+2004-01-05  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Added -d option to fusermount
+
+2003-12-15  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Added major+minor version to library API, and minor version to
+	  kernel API
+
+2003-12-13  David McNab <david@rebirthing.co.nz>
+
+	* Implemented fsync support in examples/example.py
+
+	* Implemented 'fsync' and 'statfs' methods in python
+	  interface
+
+2003-12-12  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Make it compile on 2.4.19.
+
+	* Add fsync operation (write file failed on xemacs & vi)
+
+2003-12-12  David McNab <david@rebirthing.co.nz>
+
+	* Added distutils support to the python module, as per standard
+	  python development practice
+
+2003-12-11  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Add file locking for mount/unmount (based on patch by Valient
+	Gough)
+
+2003-12-11  David McNab <david@rebirthing.co.nz>
+
+	* Python filesystem - was broken with python2.3, now fixed:
+	   - changed PyTuple_* calls to PySequence_*, because os.lstat
+	     is no longer returning a pure tuple
+	   - changed PyInt_Check() calls to also call PyLong_Check,
+	     to cover for cases (eg os.lstat) where longs are returned
+	   - Added support for file 'release' handling, which IMO is
+	     essential since this signals to a FS that writes to a file
+	     are complete (and therefore the file can now be disposed of
+	     meaningfully at the python filesystem's discretion)
+	   - Added '__init__' handler to base Fuse class, which allows
+	     your Python class to know the mountpoint and mount args,
+	     as attributes myfs.mountpoint, myfs.optlist, myfs.optdict
+
+	* General:
+	   - added 'mount.fuse' script (in util/ dir), which is meant to be
+	     symlinked from /sbin, and which allows FUSE filesystems to
+	     be mounted with the 'mount' command, and listed in fstab;
+	     also, mount arguments get passed to your filesystem
+
+
+2003-11-04  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix kernel version detection (again).  Bugreport by Peter Levart
+
+2003-11-03  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Applied read combining patch by Michael Grigoriev (tested by
+	Valient Gough and Vincent Wagelaar)
+
+2003-10-22  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Mtab handling fix in fusermount by "Valient Gough" (SF patch
+	#766443)
+
+2003-10-13  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Error code fixes in kernel module
+
+2003-10-04  Miklos Szeredi <miklos@szeredi.hu>
+
+	* kernel version detection fix
+
+	* fusermount now uses "lazy" umount option
+
+	* fusermount can use modprobe with module-init-tools
+
+2003-09-08  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Integrated caching patch by Michael Grigoriev
+
+	* Added "Filesystems" file with descriptions of projects using
+	FUSE
+
+	* Added patch by Michael Grigoriev to allow compliation of FUSE
+	kernel module for 2.6 kernels
+
+2003-06-02  Miklos Szeredi <miklos@szeredi.hu>
+
+	* And another spec-file fix by Achim Settelmeier
+
+2003-05-26  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Spec-file fix by Achim Settelmeier
+
+2003-03-10  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fix umount oops (found by Samuli Kärkkäinen)
+
+2003-03-05  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Merge of fuse_redhat.spec and fuse.spec by Achim Settelmeier
+
+2003-03-04  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Updated fuse.spec file (Achim Settelmeier)
+
+2003-02-19  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Version 1.0 released
+
+2003-02-12  Miklos Szeredi <miklos@szeredi.hu>
+
+	* SuSE compilation fix by Juan-Mariano de Goyeneche
+
+2002-12-10  Miklos Szeredi <miklos@szeredi.hu>
+
+	* The release() VFS call is now exported to the FUSE interface
+
+2002-12-05  Miklos Szeredi <miklos@szeredi.hu>
+
+	* 64 bit file offset fixes in the fuse kernel module
+
+	* Added function 'fuse_exit()' which can be used to exit the main
+	loop
+
+2002-12-03  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Added _FILE_OFFSET_BITS=64 define to fuse.h.  Note, that this is
+	an incompatible interface change.
+
+2002-10-28  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Portablility fix (bug reported by C. Chris Erway)
+
+2002-10-25  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Use Mark Glines' fd passing method for default operation instead
+	of old reexec
+
+2002-10-22  Miklos Szeredi <miklos@szeredi.hu>
+
+	* fix "Stale NFS file handle" bug caused by changes in 2.4.19
+
+2002-10-22  Miklos Szeredi <miklos@szeredi.hu>
+
+	* fix incompatiblity with Red Hat kernels, with help from Nathan
+	Thompson-Amato.
+
+2002-04-18  Mark Glines <mark@glines.org>
+
+	* added an alternative to fuse_mount(), called
+      fuse_mount_ioslave(), which does not need to reexec the
+      FUSE program.
+	* added a small helper util needed by fuse_mount_ioslave().
+
+2002-03-16  Mark Glines <mark@glines.org>
+
+	* use struct fuse_statfs everywhere possible to avoid problems
+      with the headerfiles changing struct statfs member sizes
+
+2002-03-01  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Another RPM spec file for RedHat >= 7 by Ian Pilcher
+
+2002-01-14  Miklos Szeredi <miklos@szeredi.hu>
+
+	* RPM support by Achim Settelmeier
+
+2002-01-09  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Version 0.95 released
+
+2002-01-09  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Revaidate all path components not just the last, this means a
+	very small performance penalty for being more up-to-date.
+
+2002-01-08  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Update and fix python interface
+
+2002-01-07  Mark Glines <mark@glines.org>
+
+	* Added statfs() support to kernel, lib, examples, and perl!
+
+2001-12-26  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Better cross compilation support
+
+	* Ported to Compaq IPAQ
+
+2001-12-20  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Added function fuse_get_context() to library API (inspired by
+	patch from Matt Ryan)
+
+	* Added flags to fusermount and to kernel interface to control
+	permission checking
+
+	* Integrated fuse_set_operations() into fuse_new()
+
+2001-12-08  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Applied header protection + extern "C" patch by Roland
+	Bauerschmidt
+
+2001-12-02  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Added perl bindings by Mark Glines
+
+2001-11-21  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Cleaned up way of mounting simple filesystems.
+
+	* fuse_main() helper function added
+
+2001-11-18  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Optimized read/write operations, so that minimal copying of data
+	is done
+
+2001-11-14  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Python bindings by Jeff Epler added
+
+2001-11-13  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Fixed vfsmount reference leak in fuse_follow_link
+
+	* FS blocksize is set to PAGE_CACHE_SIZE, blksize attribute from
+	userspace is ignored
+
+2001-11-09  Miklos Szeredi <miklos@szeredi.hu>
+
+	* Started ChangeLog