aboutsummaryrefslogtreecommitdiffstats
path: root/include
AgeCommit message (Collapse)AuthorLines
2014-01-29libfuse: Add "async_dio" and "writeback_cache" optionsMiklos Szeredi-1/+18
Asynchronous direct I/O is supported by linux kernels 3.13 and later, writeback caching is supported by 3.14 and later.
2013-08-26Change generation and nlookup from 'unsigned long' to 'uint64_t'Miklos Szeredi-2/+2
2013-07-25ulockmgr: strip ulockmgr support from this source packageMiklos Szeredi-26/+0
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.
2013-07-25libfuse: fuse -> fuse3Miklos Szeredi-1/+1
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.
2013-07-18libfuse: clean up struct fuse_file_infoMiklos Szeredi-5/+2
Remove 'fh_old' which was an ABI compatibility field for a long time. Make 'writepage' a bitfield.
2013-07-17Documentation fixesMiklos Szeredi-30/+29
2013-07-17Merge https://github.com/qknight/fuse-fuseMiklos Szeredi-2/+43
2013-06-21libfuse: remove fuse_chan_bufsize()Miklos Szeredi-8/+0
Remove fuse_chan_bufsize() from the lowlevel API. fuse_session_receive_buf() is now responsible for allocating memory for the buffer.
2013-06-21libfuse: remove fuse_chan_(send|receive)Miklos Szeredi-2/+2
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.
2013-06-21libfuse: clean up fuse_chanMiklos Szeredi-85/+1
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();
2013-06-21libfuse: clean up fuse_sessionMiklos Szeredi-71/+1
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();
2013-06-21libfuse: replace fuse_session_next_chanMiklos Szeredi-13/+4
Replace fuse_session_next_chan() with fuse_session_chan(), as multiple channels per session were never actually supported and probably never will.
2013-06-20- added a doxygen main pageJoachim Schiele-2/+43
- 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
2013-06-20libfuse: remove channel user dataMiklos Szeredi-10/+1
2013-05-20libfuse: fix readdirplus docNikolaus Rath-0/+12
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.
2013-05-20fuse: synchronize fuse_kernel.h header with the linux kernelMiklos Szeredi-220/+216
Check for __KERNEL__ instead of __linux__ and use the standard int types instead of the linux specific ones.
2013-02-20libfuse: don't force -D_FILE_OFFSET_BITS=64 in pkgconfig file.Richard W.M. Jones-5/+14
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'.
2013-02-20libfuse: 64bit fuse_ino_tMiklos Szeredi-2/+2
Change the type of fuse_ino_t from 'unsigned long' to 'uint64_t'. This only changes the size on 32bit architectures.
2013-02-19fuse_opt_parse(): fix memory leakMiklos Szeredi-2/+3
when storing a newly allocated string for format "%s", free the previous value stored at that location. Reported by Marco Schuster
2013-02-08remove <utime.h> include from <fuse.h>Miklos Szeredi-1/+0
2013-02-08libfuse: remove struct fuse_cmdMiklos Szeredi-3/+0
2013-02-08libfuse: remove deprecated fuse_operations.utime_omit_okMiklos Szeredi-7/+1
2013-02-08libfuse: remove deprecated fuse_operations.utime()Miklos Szeredi-6/+0
2013-02-08libfuse: remove deprecated fuse_operations.getdir()Miklos Szeredi-13/+1
2013-02-08libfuse: remove deprecated fuse_lowlevel_is_lib_option()Miklos Szeredi-3/+0
2013-02-08libfuse: remove deprecated fuse_exited()Miklos Szeredi-12/+0
2013-02-08libfuse: remove deprecated fuse_setup(), fuse_teardown()Miklos Szeredi-9/+0
2013-02-08libfuse: remove deprecated fuse_read_cmd(), fuse_process_cmd()Miklos Szeredi-9/+0
2013-02-08libfuse: remove deprecated fuse_loop_mt_proc()Miklos Szeredi-4/+0
2013-02-08libfuse: remove deprecated fuse_set_getcontext_func()Miklos Szeredi-3/+0
2013-02-08libfuse: remove deprecated fuse_invalidate()Miklos Szeredi-7/+0
2013-02-08libfuse: remove deprecated fuse_is_lib_option()Miklos Szeredi-3/+0
2013-02-07libfuse: allow disabling adaptive readdirplusEric Wong-0/+4
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).
2013-02-07libfuse: add poll_events to fuse_file_infoEnke Chen-1/+7
Make requested poll events available to the filesystem. If the requested eventsare not available, then this field is zero.
2013-02-07libfuse: add readdirplus support in fuse_lowlevel_opsFeng Shuo-1/+71
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>
2013-02-07fuse_kernel.h: clean includesRiku Voipio-1/+5
Use <linux/types.h> for linux and define types used for other operating systems using <stdint.h> types.
2013-02-06libfuse: Add '[no_]auto_inval_data' mount optionFeng Shuo-12/+18
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>
2013-02-06libfuse: add missing INIT flagsMiklos Szeredi-0/+12
Add missing flags that userspace derived from the protocol version number. This makes the protocol more flexible.
2012-07-20Move flags to the front of struct fuse_operationsMiklos Szeredi-24/+24
2012-07-20Remove compatibility path handlingMiklos Szeredi-17/+4
This means that now NULL is a valid path for operations that take a file descriptor if the file was unlinked and hard_remove option is specified.
2012-07-19Remove include/old directoryMiklos Szeredi-10/+1
2012-07-19Remove compat functionsMiklos Szeredi-454/+0
2012-07-19Start of 3.0 seriesMiklos Szeredi-40/+6
Change the version numbers. This is going to be a new major version of the library breaking backward compatibility on the binary level as well as the source level.
2012-06-18Add FALLOCATE operationAnatol Pomozov-1/+48
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-04-20use flexible array in include/fuse_kernel.hMiklos Szeredi-1/+1
Use the ISO C standard compliant form instead of the gcc extension in the interface definition.
2012-04-10Add 'flag_utime_omit_ok' flag to fuse_operationsMiklos Szeredi-1/+7
If the filesystem sets this flag then ->utimens() will receive UTIME_OMIT and UTIME_NOW values as specified in utimensat(2).
2012-01-24Revert "Add mmap() and munmap() methods to low level API"Miklos Szeredi-75/+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().
2011-12-08fuse: documentation update for forgetNikolaus Rath-12/+57
Update documentation for forget and related methods
2011-12-07libfuse: Notifying the kernel of deletion.John Muir-0/+25
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-2/+83
Currently this is only useful for CUSE. Also update retrieve_reply() method.