aboutsummaryrefslogtreecommitdiffstats
path: root/lib
AgeCommit message (Collapse)AuthorLines
2010-11-10fuse_buf_copy: check if buffers are the sameMiklos Szeredi-1/+13
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.
2010-11-10store fuse_buf inside fuse_bufvecMiklos Szeredi-71/+51
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.
2010-11-08libfuse: add retrieve requestMiklos Szeredi-3/+163
Retrieve data stored in the kernel buffers for a given inode.
2010-11-08fix pipe cleanup in do_write_buf()Miklos Szeredi-2/+4
2010-11-08Fix st_nlink for unlinked but still open filesMiklos Szeredi-5/+9
Fix st_nlink value in high level lib if file is unlinked but still open
2010-11-08Add ctx->pid to debug outputMiklos Szeredi-2/+2
2010-11-08libfuse: add store requestMiklos Szeredi-83/+122
Request data to be stored in the kernel buffers for a given inode.
2010-11-08bump version to 2.9.0-pre0Miklos Szeredi-1/+1
2010-11-08libfuse: support zero copy writes in lowlevel interfaceMiklos Szeredi-25/+326
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.
2010-11-08Fix fuse_buf_copy() if already at the end of the buffersMiklos Szeredi-4/+14
2010-11-08update umount procedureMiklos Szeredi-0/+50
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.
2010-11-08Open /dev/null for writeMiklos Szeredi-1/+1
Open /dev/null for write instead of read for redirecting stdout and stderr
2010-11-08Fix check for read-only fs in mtab updateMiklos Szeredi-1/+12
2010-10-05add missing argument check in ulockmgr.cmkmm@gmx-topmail.de-0/+4
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.
2010-09-28Fix ambiguous symbol version for fuse_chan_newMiklos Szeredi-1/+0
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
2010-09-28Fix option escaping for fusermount.Miklos Szeredi-1/+1
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-27Add NetBSD supportMiklos Szeredi-11/+43
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
2010-08-27cuse: fix minor typos in error messagesMiklos Szeredi-4/+4
This basically was a %s/fuse:/cuse:/ to remove some apparent copy/paste errors. Signed-off-by: Paul Bolle <pebolle@tiscali.nl>
2010-07-12libfuse: add buffer interfaceMiklos Szeredi-34/+490
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-24Add .gitignore filesMiklos Szeredi-6/+0
Add .gitignore files and delete .cvsignore files.
2010-06-23* Make the number of max background requests and congestionMiklos Szeredi-0/+22
threshold tunable.
2010-06-17Add fuse_reply_fd() reply function to the low level interfaceMiklos Szeredi-7/+221
2010-06-15* Add a nopath option and flag, indicating that path argumentMiklos Szeredi-26/+72
need not be calculated for the following operations: read, write, flush, release, fsync, readdir, releasedir, fsyncdir, ftruncate, fgetattr, lock, ioctl and poll.
2010-04-26* Fix checking for symlinks in umount from /tmp. Reported by AlMiklos Szeredi-1/+1
Viro * Fix umounting if /tmp is a symlink. Reported by Franco Broi
2010-02-01* Released 2.8.3Miklos Szeredi-24/+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
2010-01-26* Released 2.8.2Miklos Szeredi-1/+1
2010-01-26* Fix race if two "fusermount -u" instances are run in parallel.Miklos Szeredi-16/+20
Reported by Dan Rosenberg * Make sure that the path to be unmounted doesn't refer to a symlink
2010-01-14* Fix compile error on FreeBSD. Patch by Jay SullivanMiklos Szeredi-1/+1
2009-12-23* Use '--no-canonicalize' option of mount(8) (available inMiklos Szeredi-14/+107
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* Released 2.8.1Miklos Szeredi-1/+1
2009-08-25Fix missing versioned symbol fuse_get_context@FUSE_2.2Miklos Szeredi-0/+12
2009-08-18* Add missing fuse_session_data to versionscriptMiklos Szeredi-20/+22
* Make sure all global symbols are prefixed with "fuse_" or "cuse_" * Released 2.8.0
2009-07-16* Add missing pthread link for libulockmgr. Patch by Petr SalingerMiklos Szeredi-1/+1
2009-07-16* Clarify how the protocol version should be negotiated betweenMiklos Szeredi-5/+12
kernel and userspace. Notably libfuse didn't correctly handle the case when the supported major versions didn't match
2009-07-02* The context is extended with a 'umask' field. The umask is sentMiklos Szeredi-10/+104
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
2009-06-19Add fuse_getgroups (high level lib) and fuse_req_getgroups (lowMiklos Szeredi-0/+76
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-18CUSE patches from Tejun Heo (add new files)Miklos Szeredi-5/+427
2009-06-18CUSE patches from Tejun HeoMiklos Szeredi-104/+163
2009-06-18Add missing fuse_reply_bmap to versionscript. Debian Bug#531329. Reported ↵Miklos Szeredi-2/+6
by Goswin Brederlow
2009-05-27Don't call forget_node() if the lookup was negative and write()Miklos Szeredi-2/+5
for the reply returned ENOENT. Reported by John Haxby
2009-05-25Add FUSE_CAP_EXPORT_SUPPORT to fuse_common.hMiklos Szeredi-0/+4
2009-05-08Fix missing newlines in some printfsMiklos Szeredi-5/+5
2008-12-08* Add missing setattr flags to <fuse_lowlevel.h>.Miklos Szeredi-0/+10
* Only pass valid flags to ->setattr().
2008-12-08* Implement poll support. Patch by Tejun HeoMiklos Szeredi-0/+142
2008-12-05* Implement ioctl support. On high level interface onlyMiklos Szeredi-0/+142
"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-28If open sets fi->nonseekable, libfuse will tell the kernel that the file is ↵Miklos Szeredi-0/+2
not seekable. Patch by Tejun Heo
2008-11-27lowlevel lib: fix deadlock if fuse_reply_* is called from theinterrupt ↵Miklos Szeredi-6/+10
handling function. Reported by Tero Marttila
2008-10-16* Allow commas in options to be escaped with a backslash * Add new function: ↵Miklos Szeredi-34/+63
fuse_opt_add_opt_escaped() * Add missing fuse_reply_bmap() to the version script
2008-10-14Pass current file flags to read and write operationsMiklos Szeredi-6/+17
2008-07-24Clean up debug output in highlevel libMiklos Szeredi-136/+332