therealneworld@gmail.com [Wed, 24 Aug 2011 16:01:17 +0000 (18:01 +0200)]
add lru for remember option
Use LRU list for cleaning up the cache if the "remember=T" option was
given.
Miklos Szeredi [Wed, 6 Jul 2011 10:12:01 +0000 (12:12 +0200)]
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.
Sebastian Pipping [Sat, 25 Jun 2011 17:14:29 +0000 (19:14 +0200)]
utimens must not follow symlinks
Make xmp_utimens of examples "fusexmp" and "fusexmp_fh" not follow
symlinks as other layers do that already.
Miklos Szeredi [Thu, 2 Jun 2011 14:16:39 +0000 (16:16 +0200)]
In ./configure check if umount support --fake and --no-canonicalize
options and warn othewise
therealneworld@gmail.com [Thu, 2 Jun 2011 12:27:02 +0000 (14:27 +0200)]
add "remember" option
This works similar to "noforget" except that eventually the node will
be allowed to expire from the cache.
Miklos Szeredi [Fri, 27 May 2011 10:12:31 +0000 (12:12 +0200)]
Check if splice/vmsplice are supported
Miklos Szeredi [Thu, 26 May 2011 13:36:35 +0000 (15:36 +0200)]
Update COPYING*
Miklos Szeredi [Thu, 26 May 2011 12:07:12 +0000 (14:07 +0200)]
Update NEWS
Miklos Szeredi [Thu, 26 May 2011 11:57:57 +0000 (13:57 +0200)]
Fix lost ChangeLog entry.
Miklos Szeredi [Thu, 26 May 2011 09:17:51 +0000 (11:17 +0200)]
Remove -lrt -ldl from fuse.pc for dynamic linking
Remove -lrt -ldl from fuse.pc for dynamic linking since libfuse.so is
already linked with these libraries.
Reported by: Nikolaus Rath
Reuben Hawkins [Mon, 23 May 2011 15:17:09 +0000 (08:17 -0700)]
adding details to utimens doxygen comments
modified: include/fuse.h
Reuben Hawkins [Mon, 23 May 2011 14:10:35 +0000 (07:10 -0700)]
Spell checking comments, etc...
...with the help of vim :set spell
modified: FAQ
modified: include/fuse.h
modified: include/fuse_common.h
modified: include/fuse_opt.h
modified: lib/fuse_kern_chan.c
modified: util/fusermount.c
Reuben Hawkins [Fri, 20 May 2011 14:01:38 +0000 (07:01 -0700)]
cleaning up warnings
fprintf(stderr, whatever); -> fprintf(stderr, "%s", whatever);
checking return values on chdir and lockf where we weren't already
modified: example/cusexmp.c
modified: example/fioclient.c
modified: util/fusermount.c
Reuben Hawkins [Thu, 19 May 2011 20:28:04 +0000 (13:28 -0700)]
Cleaner build output
Add m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES(yes)]) for cleaner
build output. The verbose output is still available with 'make V=1'
Miklos Szeredi [Thu, 19 May 2011 13:36:20 +0000 (15:36 +0200)]
Fix ioctl ABI
Fix the ambiguity of ioctl ABI on the kernel/userspace boundary
for 32bit vs. 64bit userspace
Miklos Szeredi [Thu, 19 May 2011 13:30:01 +0000 (15:30 +0200)]
Add ->forget_multi() operation
Add ->forget_multi() operation to the lowlevel API. The filesystem
may implement this to process multiple forget requests in one call
Miklos Szeredi [Thu, 19 May 2011 13:26:37 +0000 (15:26 +0200)]
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
Miklos Szeredi [Thu, 19 May 2011 13:09:43 +0000 (15:09 +0200)]
Fix splice_read
Miklos Szeredi [Thu, 19 May 2011 12:49:26 +0000 (14:49 +0200)]
Disable splice by default
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.
Miklos Szeredi [Thu, 19 May 2011 11:03:56 +0000 (13:03 +0200)]
Don't hide output of /bin/mount
Max Krasnyansky [Fri, 15 Apr 2011 22:19:51 +0000 (15:19 -0700)]
Added changelog entry for the auto_unmount option
Max Krasnyansky [Sat, 12 Mar 2011 06:59:14 +0000 (22:59 -0800)]
fusermount: Added support for auto_unmount option
When this option is specified fusermount will become a daemon and wait for the
parent to exit or die, which causes control fd to get closed. It will then try
to unmount the original mountpoint.
Max Krasnyansky [Sat, 12 Mar 2011 04:49:18 +0000 (20:49 -0800)]
libfuse: Added support for auto_unmount option
This change adds support for "auto_unmount" option to libfuse.
auto_umount option unmounts the fs automatically on application
termination, whether normal or not (segfault, etc).
When auto_unmount option is specified libfuse will alway use
fusermount for mounting the fs. This change is selfcontained but
for complete functionaly it requires auto_unmount support in
fusermount tool.
Miklos Szeredi [Wed, 30 Mar 2011 17:38:22 +0000 (19:38 +0200)]
Update ChangeLog
Patches by Laszlo Papp fixing various issues found by the Coverity
checker.
Laszlo Papp [Mon, 7 Mar 2011 13:40:59 +0000 (15:40 +0200)]
Check the 'mtablock' for negative value
Laszlo Papp [Mon, 7 Mar 2011 12:49:36 +0000 (14:49 +0200)]
Fix a potential null pointer dereference issue
Laszlo Papp [Mon, 7 Mar 2011 12:33:38 +0000 (14:33 +0200)]
Fix a potential resource leak (newargv)
Laszlo Papp [Mon, 7 Mar 2011 09:32:22 +0000 (11:32 +0200)]
Initialize an allocated, but uninitialized memory
Laszlo Papp [Mon, 7 Mar 2011 09:30:07 +0000 (11:30 +0200)]
Initialize the variable properly before passing to any function
Miklos Szeredi [Wed, 30 Mar 2011 17:34:58 +0000 (19:34 +0200)]
fusermount: clean up do_mount() function
Miklos Szeredi [Wed, 30 Mar 2011 17:34:58 +0000 (19:34 +0200)]
Remove unnecessary variable assignment
Laszlo Papp [Mon, 7 Mar 2011 07:27:52 +0000 (09:27 +0200)]
Eliminate the unused value
Miklos Szeredi [Wed, 30 Mar 2011 17:34:58 +0000 (19:34 +0200)]
Fix use after free if fuse_reply...() returned ENOENT
Laszlo Papp [Mon, 14 Mar 2011 13:52:39 +0000 (15:52 +0200)]
Fix resource leaks in fusermount
Laszlo Papp [Mon, 14 Mar 2011 13:38:08 +0000 (15:38 +0200)]
Fix a possible resource leak (free the old up)
Laszlo Papp [Mon, 14 Mar 2011 16:45:39 +0000 (18:45 +0200)]
Do not pass NULL to xstrdup
Laszlo Papp [Tue, 15 Mar 2011 08:33:08 +0000 (10:33 +0200)]
Check the return value properly before passing it to any function
Laszlo Papp [Mon, 14 Mar 2011 12:58:16 +0000 (14:58 +0200)]
Fix a potential resource leak
Laszlo Papp [Tue, 22 Mar 2011 11:38:29 +0000 (13:38 +0200)]
Use the return value for error check
Laszlo Papp [Wed, 9 Mar 2011 16:01:30 +0000 (18:01 +0200)]
Check the return value after an open syscall
Laszlo Papp [Wed, 9 Mar 2011 15:22:07 +0000 (17:22 +0200)]
Check the negative return value after an open syscall
Miklos Szeredi [Fri, 11 Mar 2011 12:51:49 +0000 (13:51 +0100)]
In case of failure to add to /etc/mtab don't umount.
Reported by Marc Deslauriers
Miklos Szeredi [Fri, 11 Mar 2011 12:46:13 +0000 (13:46 +0100)]
Revert "Fix cleanup in case of failed mount"
This reverts commit
bf5ffb5fd8558bd799791834def431c0cee5a11f.
Cleanup of mount doesn't work the way it was envisioned, because the
kernel doesn't follow mounts on the umount() call, hence it will find
a non-mounted directory.
Miklos Szeredi [Thu, 17 Feb 2011 13:22:38 +0000 (14:22 +0100)]
Add -onoforget to help output
Miklos Szeredi [Wed, 2 Feb 2011 11:18:38 +0000 (12:18 +0100)]
libfuse: fuse_session_loop_mt() shouldn't pause when exiting worker threads
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
Miklos Szeredi [Mon, 31 Jan 2011 15:22:41 +0000 (16:22 +0100)]
fusermount: only allow mount and umount if util-linux suppports --no-canonicalize
Remove "legacy" util-linux support as missing --no-canonicalize cannot
be worked around in fuse.
Miklos Szeredi [Mon, 31 Jan 2011 11:36:32 +0000 (12:36 +0100)]
fusermount: chdir to / before performing mount/umount
Miklos Szeredi [Mon, 31 Jan 2011 15:32:46 +0000 (16:32 +0100)]
Fix cleanup in case of failed mount
In case of failure to add to /etc/mtab use same mountpoint for cleanup
as for mounting. Reported by Marc Deslauriers
Miklos Szeredi [Mon, 31 Jan 2011 11:18:06 +0000 (12:18 +0100)]
Fix warning in hash calculation
Fix the following warning:
fuse.c:436: warning: this decimal constant is unsigned only in ISO C90
Miklos Szeredi [Mon, 20 Dec 2010 17:50:13 +0000 (18:50 +0100)]
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.
Miklos Szeredi [Mon, 20 Dec 2010 17:50:13 +0000 (18:50 +0100)]
inline short names
In the high level library store names shorter than 32 characters
inside "struct node". Longer names are allocated as previously.
Miklos Szeredi [Mon, 20 Dec 2010 17:50:13 +0000 (18:50 +0100)]
Highlevel lib: allow hash tables to shrink
Allow hash tables to shrink as well as grow.
Miklos Szeredi [Mon, 13 Dec 2010 14:46:37 +0000 (15:46 +0100)]
Highlevel lib: use dynamically resized hash table
Use dynamically resized hash table for looking up by name and node ID.
The chosen implementation is linear hashing, which features gradual
rehashing when while the size of the table increases.
Miklos Szeredi [Fri, 12 Nov 2010 15:18:17 +0000 (16:18 +0100)]
Fix fuse_buf_copy_flags values
Reported-by: Goswin von Brederlow <goswin-v-b@web.de>
Miklos Szeredi [Fri, 12 Nov 2010 14:50:22 +0000 (15:50 +0100)]
update test/.gitignore
Miklos Szeredi [Wed, 10 Nov 2010 10:45:50 +0000 (11:45 +0100)]
fusexmp_fh: add read_buf and write_buf implementations
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.
Miklos Szeredi [Wed, 10 Nov 2010 10:41:21 +0000 (11:41 +0100)]
add read_buf method to high level API
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.
Miklos Szeredi [Wed, 10 Nov 2010 10:41:21 +0000 (11:41 +0100)]
add write_buf method to high level API
Add new write_buf() method to the highlevel API. Similarly to the
lowlevel write_buf() method, this allows implementing zero copy
writes.
Miklos Szeredi [Wed, 10 Nov 2010 10:41:21 +0000 (11:41 +0100)]
fuse_buf_copy: check if buffers are the same
When copying fuse buffers, check if the source and destination are the
same and omit the copy as appropriate. Also check if the source and
destination memory regions overlap and use memmove in that case.
Miklos Szeredi [Wed, 10 Nov 2010 10:41:21 +0000 (11:41 +0100)]
store fuse_buf inside fuse_bufvec
Store the first fuse_buf inside fuse_bufvec. This makes
initialization of fuse_bufvec simpler for the common case of a single
fuse_buf. If multiple fuse_buf's are needed then fuse_bufvec needs to
be dynamically allocated.
Miklos Szeredi [Wed, 10 Nov 2010 10:41:21 +0000 (11:41 +0100)]
bump the API version as well to 2.9
Miklos Szeredi [Mon, 8 Nov 2010 20:13:32 +0000 (21:13 +0100)]
libfuse: add retrieve request
Retrieve data stored in the kernel buffers for a given inode.
Miklos Szeredi [Mon, 8 Nov 2010 20:11:36 +0000 (21:11 +0100)]
fix changelog
Miklos Szeredi [Mon, 8 Nov 2010 20:11:36 +0000 (21:11 +0100)]
fix pipe cleanup in do_write_buf()
Miklos Szeredi [Mon, 8 Nov 2010 18:43:41 +0000 (19:43 +0100)]
Fix st_nlink for unlinked but still open files
Fix st_nlink value in high level lib if file is unlinked but still open
Miklos Szeredi [Mon, 8 Nov 2010 18:43:41 +0000 (19:43 +0100)]
Add ctx->pid to debug output
Miklos Szeredi [Mon, 8 Nov 2010 17:38:23 +0000 (18:38 +0100)]
libfuse: add store request
Request data to be stored in the kernel buffers for a given inode.
Miklos Szeredi [Mon, 8 Nov 2010 16:53:47 +0000 (17:53 +0100)]
fusermount: don't save/restore cwd
Remove unnecessary restoring of current working directory in
"fusermount -u"
Miklos Szeredi [Mon, 8 Nov 2010 16:13:22 +0000 (17:13 +0100)]
bump version to 2.9.0-pre0
Miklos Szeredi [Mon, 8 Nov 2010 16:11:46 +0000 (17:11 +0100)]
libfuse: support zero copy writes in lowlevel interface
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.
Miklos Szeredi [Mon, 8 Nov 2010 15:06:37 +0000 (16:06 +0100)]
Fix fuse_buf_copy() if already at the end of the buffers
Miklos Szeredi [Mon, 8 Nov 2010 15:00:16 +0000 (16:00 +0100)]
update umount procedure
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.
Miklos Szeredi [Mon, 8 Nov 2010 14:47:36 +0000 (15:47 +0100)]
Open /dev/null for write
Open /dev/null for write instead of read for redirecting stdout and
stderr
Miklos Szeredi [Mon, 8 Nov 2010 14:35:35 +0000 (15:35 +0100)]
Fix check for read-only fs in mtab update
Natanael Copa [Thu, 14 Oct 2010 08:36:26 +0000 (08:36 +0000)]
Use LTLIBICONV when linking libfuse
This fixes building against uclibc + libiconv.
Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
mkmm@gmx-topmail.de [Tue, 5 Oct 2010 11:00:06 +0000 (13:00 +0200)]
add missing argument check in ulockmgr.c
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.
It appears samba is sometimes calling flock with illegal / weired values.
Miklos Szeredi [Tue, 28 Sep 2010 18:04:02 +0000 (20:04 +0200)]
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.
Reported by Raymes Khoury, who discovered this with the gold linker
Miklos Szeredi [Tue, 28 Sep 2010 08:13:24 +0000 (10:13 +0200)]
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
Miklos Szeredi [Fri, 27 Aug 2010 15:16:54 +0000 (17:16 +0200)]
Add NetBSD support
The bulk of it is just about adding ifdef __NetBSD__ where there is
already an ifdef __FreeBSD__
Add a arch=netbsd to deal with NetBSD specifics. I suggests that
arch=bsd could be renamed to arch=freebsd
NetBSD specific linking with -lperfuse
NetBSD patches to lib/mount.c. It turned to be less itrusive to patch
mount;c than mount_bsd.c. I suggest mount_bsd.c could be renamed to
mount_freebsd.c
Patch from Emmanuel Dreyfus
Miklos Szeredi [Fri, 27 Aug 2010 11:29:54 +0000 (13:29 +0200)]
cuse: fix minor typos in error messages
This basically was a
%s/fuse:/cuse:/
to remove some apparent copy/paste errors.
Signed-off-by: Paul Bolle <pebolle@tiscali.nl>
Miklos Szeredi [Mon, 12 Jul 2010 15:17:25 +0000 (17:17 +0200)]
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.
Miklos Szeredi [Thu, 24 Jun 2010 11:40:31 +0000 (13:40 +0200)]
Add .gitignore files
Add .gitignore files and delete .cvsignore files.
Miklos Szeredi [Wed, 23 Jun 2010 08:56:01 +0000 (08:56 +0000)]
update fuse_kernel.h
Miklos Szeredi [Wed, 23 Jun 2010 08:33:32 +0000 (08:33 +0000)]
* Make the number of max background requests and congestion
threshold tunable.
Miklos Szeredi [Thu, 17 Jun 2010 11:54:26 +0000 (11:54 +0000)]
Add fuse_reply_fd() reply function to the low level interface
Miklos Szeredi [Tue, 15 Jun 2010 17:55:37 +0000 (17:55 +0000)]
* 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.
Miklos Szeredi [Tue, 15 Jun 2010 17:49:13 +0000 (17:49 +0000)]
* Fix out-of-source build.
Miklos Szeredi [Tue, 1 Jun 2010 09:45:52 +0000 (09:45 +0000)]
* Remove "chmod root" from install of fusermount
Miklos Szeredi [Mon, 26 Apr 2010 15:29:08 +0000 (15:29 +0000)]
* Fix checking for symlinks in umount from /tmp. Reported by Al
Viro
* Fix umounting if /tmp is a symlink. Reported by Franco Broi
Miklos Szeredi [Thu, 18 Feb 2010 14:13:10 +0000 (14:13 +0000)]
*** empty log message ***
Miklos Szeredi [Thu, 18 Feb 2010 14:07:09 +0000 (14:07 +0000)]
* Fix definition of FUSE_OPT_ENT for C++. Reported by Tim
Bruylants
Miklos Szeredi [Thu, 18 Feb 2010 11:05:13 +0000 (11:05 +0000)]
* Fix stack alignment for clone()
Miklos Szeredi [Mon, 1 Feb 2010 15:01:24 +0000 (15:01 +0000)]
add bug report credits
Miklos Szeredi [Mon, 1 Feb 2010 14:52:30 +0000 (14:52 +0000)]
* Released 2.8.3
* 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
Miklos Szeredi [Tue, 26 Jan 2010 20:46:45 +0000 (20:46 +0000)]
* Released 2.8.2
Miklos Szeredi [Tue, 26 Jan 2010 18:20:13 +0000 (18:20 +0000)]
* 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
Miklos Szeredi [Thu, 14 Jan 2010 09:54:42 +0000 (09:54 +0000)]
* Fix compile error on FreeBSD. Patch by Jay Sullivan
Miklos Szeredi [Wed, 23 Dec 2009 12:51:40 +0000 (12:51 +0000)]
* 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.
Miklos Szeredi [Mon, 2 Nov 2009 10:17:24 +0000 (10:17 +0000)]
Doc fix
Miklos Szeredi [Fri, 11 Sep 2009 10:48:52 +0000 (10:48 +0000)]
* Released 2.8.1