aboutsummaryrefslogtreecommitdiffstats
path: root/lib
AgeCommit message (Collapse)AuthorLines
2012-06-18Add FALLOCATE operationAnatol Pomozov-1/+57
fallocate filesystem operation preallocates media space for the given file. If fallocate returns success then any subsequent write to the given range never fails with 'not enough space' error.
2012-05-16Fix -pthread in fuse.pcMiklos Szeredi-1/+1
Linking to a library that uses threads requires the application to be linked with -pthreads otherwise some pthread functions will be linked to stubs in glibc. So move -pthread from Libs.private to Libs in fuse.pc. Reported by Werner Fink
2012-04-20Add missing fuse_fs_flock to fuse_versionscriptMiklos Szeredi-0/+1
2012-04-10Add 'flag_utime_omit_ok' flag to fuse_operationsMiklos Szeredi-0/+27
If the filesystem sets this flag then ->utimens() will receive UTIME_OMIT and UTIME_NOW values as specified in utimensat(2).
2012-04-10Check protocol version before sending notificationsMiklos Szeredi-0/+9
Check protocol version before sending notifications and return -ENOSYS if a particular notification is not supported.
2012-01-27Interpret octal escape codes in optionsMiklos Szeredi-2/+14
Requested by Jan Engelhardt
2012-01-24Revert "Add mmap() and munmap() methods to low level API"Miklos Szeredi-72/+0
This partially reverts commit 4b2157c44e6ad7e692fcffb7450143e83151d36b. Remove mmap/munmap suppor as this missed the interface changes for Linux-3.3 (API version 7.18). Only revert the mmap/munmap bits and leave the retrieve_reply API fix in place as well as the optimization in fuse_send_data_iov_fallback().
2012-01-13Disable symbol versions on MacOSXAnatol Pomozov-2/+6
MacOSX uses MachO binary format that does not support symbols. This change comes from fuse4x project (fuse implementation for macosx).
2012-01-02Remove unnecessary mutex unlock at the end of multithreaded event loopMiklos Szeredi-1/+0
2011-12-09Free request in fuse_reply_data()Miklos Szeredi-2/+4
Fix memory leak caused by a missing fuse_request_free() in fuse_reply_data().
2011-12-09Don't unhash name in FORGETMiklos Szeredi-2/+1
This resulted in ENOENT being returned for unlinked but still open files if the kernel sent a FORGET request for the parent directory. Discovered with fs_racer in LTP.
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.