aboutsummaryrefslogtreecommitdiff
path: root/include
Commit message (Collapse)AuthorAge
...
| * libfuse: add "clone_fd" optionGravatar Miklos Szeredi2015-05-18
| | | | | | | | | | This creates a separate device file descriptor for each processing thread, which might improve performance.
| * libfuse: refcount fuse_chan objectsGravatar Miklos Szeredi2015-05-18
|/ | | | | New functions: fuse_chan_get(), fuse_chan_put(). Removed function: fuse_chan_destroy().
* libfuse: add FUSE_CAP_NO_OPEN_SUPPORT flag to ->init()Gravatar Miklos Szeredi2015-04-23
|
* Fix docs of lowlevel readdirplus()Gravatar Miklos Szeredi2014-11-25
| | | | Reported by Michael j Theall.
* libfuse: highlevel API: fix directory file handle passed to ioctl() methodGravatar Miklos Szeredi2014-07-21
| | | | Reported by Eric Biggers
* libfuse: add flags to ->rename()Gravatar Miklos Szeredi2014-07-15
| | | | See renameat2() system call in linux-3.15 and later kernels.
* libfuse: allow setting ctime in ->setattr()Gravatar Miklos Szeredi2014-07-15
|
* libfuse: add "time_gran" optionGravatar Miklos Szeredi2014-07-15
| | | | | | This allows the filesystem to specify the time granularity it supports when the kernel is responsible for updating times ("writeback_cache" option).
* libfuse: document deadlock avoidance for fuse_notify_inval_entry()Gravatar Miklos Szeredi2014-07-15
| | | | | | and fuse_notify_delete() Reported by Han-Wen Nienhuys
* libfuse: implement readdirplus for high-level APIGravatar Eric Wong2014-03-05
| | | | | | | | | | Reuse the old "readdir" callback, but add a flags argument, that has FUSE_READDIR_PLUS in case this is a "plus" version. Filesystems can safely ignore this flag, but if they want they can add optimizations based on it: i.e. only retrieve the full attributes in PLUS mode. The filler function is also given a flags argument and the filesystem can set FUSE_FILL_DIR_PLUS if all the attributes in "stat" are valid.
* fuse: use dlsym() instead of relying on ld.so constructor functionsGravatar Fabrice Bauzac2014-02-04
|
* libfuse: Add "async_dio" and "writeback_cache" optionsGravatar Miklos Szeredi2014-01-29
| | | | | Asynchronous direct I/O is supported by linux kernels 3.13 and later, writeback caching is supported by 3.14 and later.
* Change generation and nlookup from 'unsigned long' to 'uint64_t'Gravatar Miklos Szeredi2013-08-26
|
* ulockmgr: strip ulockmgr support from this source packageGravatar Miklos Szeredi2013-07-25
| | | | | | Distribute ulockmgr separately. It is not needed for the building of libfuse, only fusexmp_fh. Check ulockmgr library in ./configure and if not disable remote-lock suport in fusexmp_fh.
* libfuse: fuse -> fuse3Gravatar Miklos Szeredi2013-07-25
| | | | | | Allow 2.X and 3.X to coexist. Includes are now stored under /usr/include/fuse3 and library is named libfuse3.*. Invoke pkg-config with "fuse3" as the first argument to build with version 3 of the library.
* libfuse: clean up struct fuse_file_infoGravatar Miklos Szeredi2013-07-18
| | | | | | Remove 'fh_old' which was an ABI compatibility field for a long time. Make 'writepage' a bitfield.
* Documentation fixesGravatar Miklos Szeredi2013-07-17
|
* Merge https://github.com/qknight/fuse-fuseGravatar Miklos Szeredi2013-07-17
|\
* | libfuse: remove fuse_chan_bufsize()Gravatar Miklos Szeredi2013-06-21
| | | | | | | | | | | | | | Remove fuse_chan_bufsize() from the lowlevel API. fuse_session_receive_buf() is now responsible for allocating memory for the buffer.
* | libfuse: remove fuse_chan_(send|receive)Gravatar Miklos Szeredi2013-06-21
| | | | | | | | | | | | | | Move the fuse_chan_ops.send and .receive implementations to fuse_lowlevel.c. The abstraction wasn't actually useful and made the the splice implementation more difficult. Remove fuse_chan_ops.send and fuse_chan_ops.receive.
* | libfuse: clean up fuse_chanGravatar Miklos Szeredi2013-06-21
| | | | | | | | | | | | | | | | | | | | | | | | Clean up fuse_chan related interfaces. Remove the following from the lowlevel library API: struct fuse_chan_ops; fuse_chan_new(); fuse_chan_session(); fuse_chan_recv(); fuse_chan_send();
* | libfuse: clean up fuse_sessionGravatar Miklos Szeredi2013-06-21
| | | | | | | | | | | | | | | | | | | | Clean up fuse_session related interfaces. Remove the following from the lowlevel library API: struct fuse_session_ops; fuse_session_new(); fuse_session_process(); fuse_session_data();
* | libfuse: replace fuse_session_next_chanGravatar Miklos Szeredi2013-06-21
| | | | | | | | | | Replace fuse_session_next_chan() with fuse_session_chan(), as multiple channels per session were never actually supported and probably never will.
| * - added a doxygen main pageGravatar Joachim Schiele2013-06-20
| | | | | | | | | | | | - modified all examples to be included in doxygen - modified the API documentation to have more details - added the 490px_FUSE_structure.svg.png (c) wikipedia
* | libfuse: remove channel user dataGravatar Miklos Szeredi2013-06-20
|/
* libfuse: fix readdirplus docGravatar Nikolaus Rath2013-05-20
| | | | | | | | | Returning entry in readdir does not result in bump of lookup count. Returning entry in readdirplus DOES result in increase of lookup count by 1. You need to provide valid nodeid and valid stat structure (with at least valid type) for each entry.
* fuse: synchronize fuse_kernel.h header with the linux kernelGravatar Miklos Szeredi2013-05-20
| | | | | Check for __KERNEL__ instead of __linux__ and use the standard int types instead of the linux specific ones.
* libfuse: don't force -D_FILE_OFFSET_BITS=64 in pkgconfig file.Gravatar Richard W.M. Jones2013-02-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | FUSE_CFLAGS defines -D_FILE_OFFSET_BITS=64. There are three problems with this: (1) A larger program using libfuse might have modules compiled with and without FUSE_CFLAGS, which, if LFS is not enabled and the platform is 32 bit, would result in a fatal mix of 32 and 64 bit off_t. (This would, of course, be a bug, but I think there is a better way to detect this -- see below) (2) Programs may need to be adjusted to support LFS. It's the intention of the LFS standard that the _programmer_ enables LFS once the program has been checked/adjusted. (3) _FILE_OFFSET_BITS does not need to be defined at all on 64 bit Linux. 64 bit off_t is the default there. So I think it's better not to force -D_FILE_OFFSET_BITS=64, and because of (3) I also think you shouldn't test for it. However off_t must still be 64 bits, so how to enforce that? C1X will define static assertions[1], and these can be used to check the size of off_t. Not all compilers support static assertions yet, although several do. Therefore I have surrounded the static assertion with a conservative check that the compiler is GCC >= 4.6. In the long run, this test can be removed and you can just use 'static_assert'.
* libfuse: 64bit fuse_ino_tGravatar Miklos Szeredi2013-02-20
| | | | | Change the type of fuse_ino_t from 'unsigned long' to 'uint64_t'. This only changes the size on 32bit architectures.
* fuse_opt_parse(): fix memory leakGravatar Miklos Szeredi2013-02-19
| | | | | | | when storing a newly allocated string for format "%s", free the previous value stored at that location. Reported by Marco Schuster
* remove <utime.h> include from <fuse.h>Gravatar Miklos Szeredi2013-02-08
|
* libfuse: remove struct fuse_cmdGravatar Miklos Szeredi2013-02-08
|
* libfuse: remove deprecated fuse_operations.utime_omit_okGravatar Miklos Szeredi2013-02-08
|
* libfuse: remove deprecated fuse_operations.utime()Gravatar Miklos Szeredi2013-02-08
|
* libfuse: remove deprecated fuse_operations.getdir()Gravatar Miklos Szeredi2013-02-08
|
* libfuse: remove deprecated fuse_lowlevel_is_lib_option()Gravatar Miklos Szeredi2013-02-08
|
* libfuse: remove deprecated fuse_exited()Gravatar Miklos Szeredi2013-02-08
|
* libfuse: remove deprecated fuse_setup(), fuse_teardown()Gravatar Miklos Szeredi2013-02-08
|
* libfuse: remove deprecated fuse_read_cmd(), fuse_process_cmd()Gravatar Miklos Szeredi2013-02-08
|
* libfuse: remove deprecated fuse_loop_mt_proc()Gravatar Miklos Szeredi2013-02-08
|
* libfuse: remove deprecated fuse_set_getcontext_func()Gravatar Miklos Szeredi2013-02-08
|
* libfuse: remove deprecated fuse_invalidate()Gravatar Miklos Szeredi2013-02-08
|
* libfuse: remove deprecated fuse_is_lib_option()Gravatar Miklos Szeredi2013-02-08
|
* libfuse: allow disabling adaptive readdirplusGravatar Eric Wong2013-02-07
| | | | | | | | | | | This switches the -o no_readdirplus option to a tristate string: -o readdirplus=(yes|no|auto) Telling the kernel to always use readdirplus is beneficial to filesystems (e.g. GlusterFS) where the cost to perform readdir and readdirplus are identical. The default remains "auto" (if supported).
* libfuse: add poll_events to fuse_file_infoGravatar Enke Chen2013-02-07
| | | | | Make requested poll events available to the filesystem. If the requested eventsare not available, then this field is zero.
* libfuse: add readdirplus support in fuse_lowlevel_opsGravatar Feng Shuo2013-02-07
| | | | | | | | | | | | | | | | | This patch implements readdirplus support in FUSE usersapce. It adds a new fuse lowlevel operations fuse_lowleve_ops::readdir_plus, corespoding mount options and helper functions to maintain buffer. [From: Eric Wong <normalperson@yhbt.net>] This makes our terminology consistent with NFS and our kernel module, as well as reducing user/developer confusion in the command-line. Note: I'm keeping "fuse_add_direntry_plus" since that is less standardized in its use than "readdirplus" for now. Signed-off-by: Feng Shuo <steve.shuo.feng@gmail.com>
* fuse_kernel.h: clean includesGravatar Riku Voipio2013-02-07
| | | | | Use <linux/types.h> for linux and define types used for other operating systems using <stdint.h> types.
* libfuse: Add '[no_]auto_inval_data' mount optionGravatar Feng Shuo2013-02-06
| | | | | | | | | | | Several caching logic changes have been made on the kernel side to better support network-based fuse filesystems. These include kernel side mtime checking and read path cache revalidation. The new caching logic is enabled through the FUSE_AUTO_INVAL_DATA init flag. Export this to the user via the '[no_]auto_inval_data' mount option. Signed-off-by: Feng Shuo <steve.shuo.feng@gmail.com>
* libfuse: add missing INIT flagsGravatar Miklos Szeredi2013-02-06
| | | | | Add missing flags that userspace derived from the protocol version number. This makes the protocol more flexible.
* Move flags to the front of struct fuse_operationsGravatar Miklos Szeredi2012-07-20
|