aboutsummaryrefslogtreecommitdiffstats
path: root/lib
AgeCommit message (Collapse)AuthorLines
2011-12-09Fix hang in wait_on_path()Miklos Szeredi-3/+31
Ville Silventoinen reported that fs_racer in LTP triggered a hang in wait_on_path(). This bug was caused by try_get_path() not resetting "ticket" on permanent failure.
2011-12-08FUSE_NODE_SLAB buildfixEmmanuel Dreyfus-11/+11
When FUSE_NODE_SLAB is not defined, the build fails because of undefined functions. Attached patch fixes the problem.
2011-12-07libfuse: Notifying the kernel of deletion.John Muir-0/+29
libfuse part to allow a FUSE file-system to tell the kernel when a file or directory is deleted. If the specified dentry has the specified inode number, the kernel will unhash it. Signed-off-by: John Muir <john@jmuir.com> Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
2011-12-06Add mmap() and munmap() methods to low level APIMiklos Szeredi-6/+91
Currently this is only useful for CUSE. Also update retrieve_reply() method.
2011-12-05Add support for ioctl on directoriesMiklos Szeredi-0/+8
Reported by Antonio SJ Musumeci
2011-12-05Make lock argument of fuse_reply_lock constMiklos Szeredi-1/+1
Low level API: lock argument of fuse_reply_lock should have a 'const' qualifier. Reported by Shachar Sharon
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