aboutsummaryrefslogtreecommitdiffstats
path: root/lib
AgeCommit message (Collapse)AuthorLines
2011-10-23Reply with ENOMEM in case of failure to allocate requestMiklos Szeredi-9/+20
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-23Replace daemon() function with fork()Anatol Pomozov-5/+29
daemon() is a BSD-ism. Although it is available on many platforms it is not a standard function. Some platforms (e.g. MacOSX) deprecated it. It is safer just to use fork() function that is a part of POSIX.
2011-08-31Don't ignore --disable-mtabMiklos Szeredi-0/+2
If configured with --disable-mtab then don't call mount(8) from libfuse to update the mtab. Reported by: James Sierp
2011-08-24add lru for remember optiontherealneworld@gmail.com-41/+89
Use LRU list for cleaning up the cache if the "remember=T" option was given.
2011-07-06Add ->flock() operation to low and high level interfacesMiklos Szeredi-8/+117
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-06-02add "remember" optiontherealneworld@gmail.com-28/+221
This works similar to "noforget" except that eventually the node will be allowed to expire from the cache.
2011-05-27Check if splice/vmsplice are supportedMiklos Szeredi-24/+78
2011-05-25Spell checking comments, etc...Reuben Hawkins-1/+1
...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
2011-05-19Fix ioctl ABIMiklos Szeredi-10/+73
Fix the ambiguity of ioctl ABI on the kernel/userspace boundary for 32bit vs. 64bit userspace
2011-05-19Add ->forget_multi() operationMiklos Szeredi-6/+29
Add ->forget_multi() operation to the lowlevel API. The filesystem may implement this to process multiple forget requests in one call
2011-05-19Allow batching of forget requestsMiklos Szeredi-12/+59
This allows forget requests to be processed faster and doesn't require a modification to fuse filesystems. Reported by Terje Malmedal
2011-05-19Fix splice_readMiklos Szeredi-2/+1
2011-05-19Disable splice by defaultMiklos Szeredi-6/+19
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-05-19Don't hide output of /bin/mountMiklos Szeredi-10/+0
2011-04-15libfuse: Added support for auto_unmount optionMax Krasnyansky-8/+27
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.
2011-03-30Fix a potential null pointer dereference issueLaszlo Papp-1/+2
2011-03-30Fix a potential resource leak (newargv)Laszlo Papp-2/+7
2011-03-30Initialize an allocated, but uninitialized memoryLaszlo Papp-1/+1
2011-03-30Initialize the variable properly before passing to any functionLaszlo Papp-0/+1
2011-03-30Remove unnecessary variable assignmentMiklos Szeredi-1/+0
2011-03-30Fix use after free if fuse_reply...() returned ENOENTMiklos Szeredi-6/+0
2011-03-30Fix a possible resource leak (free the old up)Laszlo Papp-0/+4
2011-03-30Fix a potential resource leakLaszlo Papp-1/+3
2011-03-30Use the return value for error checkLaszlo Papp-3/+2
2011-03-30Check the return value after an open syscallLaszlo Papp-2/+4
2011-03-30Check the negative return value after an open syscallLaszlo Papp-2/+4
2011-02-17Add -onoforget to help outputMiklos Szeredi-0/+1
2011-02-02libfuse: fuse_session_loop_mt() shouldn't pause when exiting worker threadsMiklos Szeredi-2/+0
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-31fusermount: only allow mount and umount if util-linux suppports ↵Miklos Szeredi-71/+1
--no-canonicalize Remove "legacy" util-linux support as missing --no-canonicalize cannot be worked around in fuse.
2011-01-31Fix warning in hash calculationMiklos Szeredi-1/+1
Fix the following warning: fuse.c:436: warning: this decimal constant is unsigned only in ISO C90
2010-12-20Highlevel lib: add slab allocation for node cacheMiklos Szeredi-9/+180
This will allow the memory used by the filesystem to grow and shrink depending on how many inodes are currently cached.
2010-12-20inline short namesMiklos Szeredi-13/+16
In the high level library store names shorter than 32 characters inside "struct node". Longer names are allocated as previously.
2010-12-20Highlevel lib: allow hash tables to shrinkMiklos Szeredi-1/+77
Allow hash tables to shrink as well as grow.
2010-12-13Highlevel lib: use dynamically resized hash tableMiklos Szeredi-43/+153
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.
2010-11-10add read_buf method to high level APIMiklos Szeredi-31/+82
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.
2010-11-10add write_buf method to high level APIMiklos Szeredi-17/+63
Add new write_buf() method to the highlevel API. Similarly to the lowlevel write_buf() method, this allows implementing zero copy writes.
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.