aboutsummaryrefslogtreecommitdiff
path: root/lib
Commit message (Collapse)AuthorAge
* Fix a potential resource leakGravatar Laszlo Papp2011-03-30
|
* Use the return value for error checkGravatar Laszlo Papp2011-03-30
|
* Check the return value after an open syscallGravatar Laszlo Papp2011-03-30
|
* Check the negative return value after an open syscallGravatar Laszlo Papp2011-03-30
|
* Add -onoforget to help outputGravatar Miklos Szeredi2011-02-17
|
* libfuse: fuse_session_loop_mt() shouldn't pause when exiting worker threadsGravatar Miklos Szeredi2011-02-02
| | | | | | | | 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
* fusermount: only allow mount and umount if util-linux suppports ↵Gravatar Miklos Szeredi2011-01-31
| | | | | | | --no-canonicalize Remove "legacy" util-linux support as missing --no-canonicalize cannot be worked around in fuse.
* Fix warning in hash calculationGravatar Miklos Szeredi2011-01-31
| | | | | | Fix the following warning: fuse.c:436: warning: this decimal constant is unsigned only in ISO C90
* Highlevel lib: add slab allocation for node cacheGravatar Miklos Szeredi2010-12-20
| | | | | This will allow the memory used by the filesystem to grow and shrink depending on how many inodes are currently cached.
* inline short namesGravatar Miklos Szeredi2010-12-20
| | | | | In the high level library store names shorter than 32 characters inside "struct node". Longer names are allocated as previously.
* Highlevel lib: allow hash tables to shrinkGravatar Miklos Szeredi2010-12-20
| | | | Allow hash tables to shrink as well as grow.
* Highlevel lib: use dynamically resized hash tableGravatar Miklos Szeredi2010-12-13
| | | | | | | 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.
* add read_buf method to high level APIGravatar Miklos Szeredi2010-11-10
| | | | | | 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.
* add write_buf method to high level APIGravatar Miklos Szeredi2010-11-10
| | | | | | Add new write_buf() method to the highlevel API. Similarly to the lowlevel write_buf() method, this allows implementing zero copy writes.
* fuse_buf_copy: check if buffers are the sameGravatar Miklos Szeredi2010-11-10
| | | | | | 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.
* store fuse_buf inside fuse_bufvecGravatar Miklos Szeredi2010-11-10
| | | | | | | 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.
* libfuse: add retrieve requestGravatar Miklos Szeredi2010-11-08
| | | | Retrieve data stored in the kernel buffers for a given inode.
* fix pipe cleanup in do_write_buf()Gravatar Miklos Szeredi2010-11-08
|
* Fix st_nlink for unlinked but still open filesGravatar Miklos Szeredi2010-11-08
| | | | Fix st_nlink value in high level lib if file is unlinked but still open
* Add ctx->pid to debug outputGravatar Miklos Szeredi2010-11-08
|
* libfuse: add store requestGravatar Miklos Szeredi2010-11-08
| | | | Request data to be stored in the kernel buffers for a given inode.
* bump version to 2.9.0-pre0Gravatar Miklos Szeredi2010-11-08
|
* libfuse: support zero copy writes in lowlevel interfaceGravatar Miklos Szeredi2010-11-08
| | | | | | | | | | 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.
* Fix fuse_buf_copy() if already at the end of the buffersGravatar Miklos Szeredi2010-11-08
|
* update umount procedureGravatar Miklos Szeredi2010-11-08
| | | | | | | | | | | | | 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.
* Open /dev/null for writeGravatar Miklos Szeredi2010-11-08
| | | | | Open /dev/null for write instead of read for redirecting stdout and stderr
* Fix check for read-only fs in mtab updateGravatar Miklos Szeredi2010-11-08
|
* add missing argument check in ulockmgr.cGravatar mkmm@gmx-topmail.de2010-10-05
| | | | | | | | | 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.
* Fix ambiguous symbol version for fuse_chan_newGravatar Miklos Szeredi2010-09-28
| | | | | | | 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
* Fix option escaping for fusermount.Gravatar Miklos Szeredi2010-09-28
| | | | | | | | 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
* Add NetBSD supportGravatar Miklos Szeredi2010-08-27
| | | | | | | | | | | | | | | | 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
* cuse: fix minor typos in error messagesGravatar Miklos Szeredi2010-08-27
| | | | | | | | This basically was a %s/fuse:/cuse:/ to remove some apparent copy/paste errors. Signed-off-by: Paul Bolle <pebolle@tiscali.nl>
* libfuse: add buffer interfaceGravatar Miklos Szeredi2010-07-12
| | | | | | | | 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.
* Add .gitignore filesGravatar Miklos Szeredi2010-06-24
| | | | Add .gitignore files and delete .cvsignore files.
* * Make the number of max background requests and congestionGravatar Miklos Szeredi2010-06-23
| | | | threshold tunable.
* Add fuse_reply_fd() reply function to the low level interfaceGravatar Miklos Szeredi2010-06-17
|
* * Add a nopath option and flag, indicating that path argumentGravatar Miklos Szeredi2010-06-15
| | | | | | need not be calculated for the following operations: read, write, flush, release, fsync, readdir, releasedir, fsyncdir, ftruncate, fgetattr, lock, ioctl and poll.
* * Fix checking for symlinks in umount from /tmp. Reported by AlGravatar Miklos Szeredi2010-04-26
| | | | | | Viro * Fix umounting if /tmp is a symlink. Reported by Franco Broi
* * Released 2.8.3Gravatar Miklos Szeredi2010-02-01
| | | | | | * 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
* * Released 2.8.2Gravatar Miklos Szeredi2010-01-26
|
* * Fix race if two "fusermount -u" instances are run in parallel.Gravatar Miklos Szeredi2010-01-26
| | | | | | | Reported by Dan Rosenberg * Make sure that the path to be unmounted doesn't refer to a symlink
* * Fix compile error on FreeBSD. Patch by Jay SullivanGravatar Miklos Szeredi2010-01-14
|
* * Use '--no-canonicalize' option of mount(8) (available inGravatar Miklos Szeredi2009-12-23
| | | | | | | | 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.
* * Released 2.8.1Gravatar Miklos Szeredi2009-09-11
|
* Fix missing versioned symbol fuse_get_context@FUSE_2.2Gravatar Miklos Szeredi2009-08-25
|
* * Add missing fuse_session_data to versionscriptGravatar Miklos Szeredi2009-08-18
| | | | | | * Make sure all global symbols are prefixed with "fuse_" or "cuse_" * Released 2.8.0
* * Add missing pthread link for libulockmgr. Patch by Petr SalingerGravatar Miklos Szeredi2009-07-16
|
* * Clarify how the protocol version should be negotiated betweenGravatar Miklos Szeredi2009-07-16
| | | | | kernel and userspace. Notably libfuse didn't correctly handle the case when the supported major versions didn't match
* * The context is extended with a 'umask' field. The umask is sentGravatar Miklos Szeredi2009-07-02
| | | | | | | | | | | | | | | 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
* Add fuse_getgroups (high level lib) and fuse_req_getgroups (lowGravatar Miklos Szeredi2009-06-19
| | | | | | 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.