aboutsummaryrefslogtreecommitdiff
path: root/include/fuse_common.h
AgeCommit message (Collapse)Author
2013-02-20libfuse: don't force -D_FILE_OFFSET_BITS=64 in pkgconfig file.Richard W.M. Jones
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
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
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
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
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
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
Reported by Antonio SJ Musumeci
2011-07-06Add ->flock() operation to low and high level interfacesMiklos Szeredi
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
...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
2010-11-12Fix fuse_buf_copy_flags valuesMiklos Szeredi
Reported-by: Goswin von Brederlow <goswin-v-b@web.de>
2010-11-10store fuse_buf inside fuse_bufvecMiklos Szeredi
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
2010-11-08libfuse: support zero copy writes in lowlevel interfaceMiklos Szeredi
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
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
threshold tunable.
2010-06-17Add fuse_reply_fd() reply function to the low level interfaceMiklos Szeredi
2009-11-02Doc fixMiklos Szeredi
2009-07-02* The context is extended with a 'umask' field. The umask is sentMiklos Szeredi
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
2008-12-08* Implement poll support. Patch by Tejun HeoMiklos Szeredi
2008-12-05* Implement ioctl support. On high level interface onlyMiklos Szeredi
"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
not seekable. Patch by Tejun Heo
2008-06-09Don't allow bigger than 4kB writes by default...Miklos Szeredi
2008-02-08Add support for atomic open(O_TRUNC)Miklos Szeredi
2008-02-08Support receiving file handle from kernel in GETATTR request; Allow ↵Miklos Szeredi
operations with a NULL path argument, if the filesystem supports it
2007-12-17Released 2.7.2Miklos Szeredi
2007-12-12change indentingMiklos Szeredi
2007-10-16Clarify licence version to be "LGPLv2" for the libraryMiklos Szeredi
2007-10-16doc updatesMiklos Szeredi
2007-06-20Add fs subtype support to libfuse and fusermountMiklos Szeredi
2007-04-25update copyright datesMiklos Szeredi
2007-02-03Add filesystem stacking support to high level APIMiklos Szeredi
2006-10-10doc fixesMiklos Szeredi
2006-09-30API changesMiklos Szeredi
2006-06-28file lockingMiklos Szeredi
2006-03-17fixMiklos Szeredi
2006-03-10fixMiklos Szeredi
2006-03-01pass device file descriptor to fuse_unmountCsaba Henk
2006-01-23revert to version 2.6Miklos Szeredi
2006-01-20fixMiklos Szeredi
2006-01-06fixMiklos Szeredi
2005-11-11fixMiklos Szeredi
2005-11-07fixMiklos Szeredi
2005-10-26add access operationMiklos Szeredi
2005-10-10fixMiklos Szeredi
2005-10-03fixMiklos Szeredi
2005-08-14cleanupMiklos Szeredi
2005-08-11fixMiklos Szeredi
2005-08-01fixMiklos Szeredi