aboutsummaryrefslogtreecommitdiffstats
path: root/include/fuse_common.h
AgeCommit message (Collapse)AuthorLines
2014-01-29libfuse: Add "async_dio" and "writeback_cache" optionsMiklos Szeredi-0/+7
Asynchronous direct I/O is supported by linux kernels 3.13 and later, writeback caching is supported by 3.14 and later.
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-4/+5
2013-06-20- added a doxygen main pageJoachim Schiele-0/+9
- 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-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-07libfuse: allow disabling adaptive readdirplusEric Wong-0/+1
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-0/+5
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-0/+1
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-06libfuse: Add '[no_]auto_inval_data' mount optionFeng Shuo-11/+12
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>
2012-07-19Start of 3.0 seriesMiklos Szeredi-32/+5
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.
2011-12-05Add support for ioctl on directoriesMiklos Szeredi-0/+4
Reported by Antonio SJ Musumeci
2011-07-06Add ->flock() operation to low and high level interfacesMiklos Szeredi-1/+8
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-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 splice_readMiklos Szeredi-0/+1
2010-11-12Fix fuse_buf_copy_flags valuesMiklos Szeredi-2/+2
Reported-by: Goswin von Brederlow <goswin-v-b@web.de>
2010-11-10store fuse_buf inside fuse_bufvecMiklos Szeredi-5/+22
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-10bump the API version as well to 2.9Miklos Szeredi-1/+1
2010-11-08libfuse: support zero copy writes in lowlevel interfaceMiklos Szeredi-0/+1
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-07-12libfuse: add buffer interfaceMiklos Szeredi-0/+164
Add a generic buffer interface for use with I/O. Buffer vectors are supplied and each buffer in the vector may be a memory pointer or a file descriptor. The fuse_reply_fd() interface is converted to using buffers.
2010-06-23* Make the number of max background requests and congestionMiklos Szeredi-1/+11
threshold tunable.
2010-06-17Add fuse_reply_fd() reply function to the low level interfaceMiklos Szeredi-0/+4
2009-11-02Doc fixMiklos Szeredi-1/+1
2009-07-02* The context is extended with a 'umask' field. The umask is sentMiklos Szeredi-0/+2
for mknod, mkdir and create requests by linux kernel version 2.6.31 or later, otherwise the umask is set to zero. Also introduce a new feature flag: FUSE_CAP_DONT_MASK. If the kernel supports this feature, then this flag will be set in conn->capable in the ->init() method. If the filesystem sets this flag in in conn->want, then the create modes will not be masked. * Add low level interfaces for lookup cache and attribute invalidation. This feature is available in linux kernels 2.6.31 or later. Patch by John Muir * Kernel interface version is now 7.12
2009-05-25Add FUSE_CAP_EXPORT_SUPPORT to fuse_common.hMiklos Szeredi-0/+2
2008-12-08* Implement poll support. Patch by Tejun HeoMiklos Szeredi-0/+8
2008-12-05* Implement ioctl support. On high level interface onlyMiklos Szeredi-0/+15
"restricted" ioctls are supported (which are defined with the _IO(), _IOR(), _IOW() or _IOWR() macros). Unrestricted ioctls will only be allwed to CUSE (Character Device in Userspace) servers. Patch by Tejun Heo
2008-11-28If open sets fi->nonseekable, libfuse will tell the kernel that the file is ↵Miklos Szeredi-1/+5
not seekable. Patch by Tejun Heo
2008-06-09Don't allow bigger than 4kB writes by default...Miklos Szeredi-3/+21
2008-02-08Add support for atomic open(O_TRUNC)Miklos Szeredi-1/+6
2008-02-08Support receiving file handle from kernel in GETATTR request; Allow ↵Miklos Szeredi-1/+1
operations with a NULL path argument, if the filesystem supports it
2007-12-17Released 2.7.2Miklos Szeredi-1/+1
2007-12-12change indentingMiklos Szeredi-80/+80
2007-10-16Clarify licence version to be "LGPLv2" for the libraryMiklos Szeredi-1/+1
2007-10-16doc updatesMiklos Szeredi-0/+2
2007-06-20Add fs subtype support to libfuse and fusermountMiklos Szeredi-1/+13
2007-04-25update copyright datesMiklos Szeredi-1/+1
2007-02-03Add filesystem stacking support to high level APIMiklos Szeredi-1/+1
2006-10-10doc fixesMiklos Szeredi-0/+30
2006-09-30API changesMiklos Szeredi-1/+9
2006-06-28file lockingMiklos Szeredi-1/+1
2006-03-17fixMiklos Szeredi-4/+39
2006-03-10fixMiklos Szeredi-0/+29
2006-03-01pass device file descriptor to fuse_unmountCsaba Henk-1/+2
2006-01-23revert to version 2.6Miklos Szeredi-1/+1
2006-01-20fixMiklos Szeredi-1/+10
2006-01-06fixMiklos Szeredi-5/+31
2005-11-11fixMiklos Szeredi-4/+16
2005-11-07fixMiklos Szeredi-4/+0
2005-10-26add access operationMiklos Szeredi-1/+1
2005-10-10fixMiklos Szeredi-0/+8