aboutsummaryrefslogtreecommitdiffstats
path: root/include/fuse_lowlevel.h
AgeCommit message (Collapse)AuthorLines
2016-03-29Whitespace cleanup.Nikolaus Rath-9/+9
Applied (whitespace-cleanup) to each file. Having whitespace changes in the VCS is ugly, but it ensures that in the future committers can run this function to *avoid* commiting any whitespace.
2016-03-29Inlined fuse_chan_fdNikolaus Rath-8/+0
2016-01-14Extend write_buf documentationNikolaus Rath-0/+5
2015-05-18libfuse: refcount fuse_chan objectsMiklos Szeredi-2/+10
New functions: fuse_chan_get(), fuse_chan_put(). Removed function: fuse_chan_destroy().
2014-11-25Fix docs of lowlevel readdirplus()Miklos Szeredi-3/+3
Reported by Michael j Theall.
2014-07-15libfuse: add flags to ->rename()Miklos Szeredi-1/+2
See renameat2() system call in linux-3.15 and later kernels.
2014-07-15libfuse: allow setting ctime in ->setattr()Miklos Szeredi-0/+1
2014-07-15libfuse: document deadlock avoidance for fuse_notify_inval_entry()Miklos Szeredi-0/+8
and fuse_notify_delete() Reported by Han-Wen Nienhuys
2013-08-26Change generation and nlookup from 'unsigned long' to 'uint64_t'Miklos Szeredi-2/+2
2013-07-17Documentation fixesMiklos Szeredi-5/+6
2013-07-17Merge https://github.com/qknight/fuse-fuseMiklos Szeredi-2/+11
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/+11
- 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-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-08libfuse: remove deprecated fuse_lowlevel_is_lib_option()Miklos Szeredi-3/+0
2013-02-07libfuse: add readdirplus support in fuse_lowlevel_opsFeng Shuo-0/+54
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>
2012-07-19Remove compat functionsMiklos Szeredi-22/+0
2012-06-18Add FALLOCATE operationAnatol Pomozov-0/+20
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-01-24Revert "Add mmap() and munmap() methods to low level API"Miklos Szeredi-43/+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/+16
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/+51
Currently this is only useful for CUSE. Also update retrieve_reply() method.
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-07-06Add ->flock() operation to low and high level interfacesMiklos Szeredi-1/+20
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-19Add ->forget_multi() operationMiklos Szeredi-0/+19
Add ->forget_multi() operation to the lowlevel API. The filesystem may implement this to process multiple forget requests in one call
2010-11-08libfuse: add retrieve requestMiklos Szeredi-0/+39
Retrieve data stored in the kernel buffers for a given inode.
2010-11-08libfuse: add store requestMiklos Szeredi-0/+25
Request data to be stored in the kernel buffers for a given inode.
2010-11-08libfuse: support zero copy writes in lowlevel interfaceMiklos Szeredi-0/+53
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-19/+9
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-17Add fuse_reply_fd() reply function to the low level interfaceMiklos Szeredi-0/+28
2010-02-18* Fix stack alignment for clone()Miklos Szeredi-0/+1
2009-07-02* The context is extended with a 'umask' field. The umask is sentMiklos Szeredi-0/+37
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-06-19Add fuse_getgroups (high level lib) and fuse_req_getgroups (lowMiklos Szeredi-0/+21
level lib) functions to query the supplementary group IDs for the current request. Currently this is implemented on Linux by reading from the /proc filesystem.
2009-06-18CUSE patches from Tejun HeoMiklos Szeredi-6/+21
2009-06-18Add missing fuse_reply_bmap to versionscript. Debian Bug#531329. Reported ↵Miklos Szeredi-1/+1
by Goswin Brederlow
2009-02-06documentation updateMiklos Szeredi-11/+11
2008-12-08* Add missing setattr flags to <fuse_lowlevel.h>.Miklos Szeredi-0/+2
* Only pass valid flags to ->setattr().
2008-12-08* Implement poll support. Patch by Tejun HeoMiklos Szeredi-1/+51
2008-12-05* Implement ioctl support. On high level interface onlyMiklos Szeredi-0/+62
"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
2007-12-12change indentingMiklos Szeredi-774/+787
2007-10-16Clarify licence version to be "LGPLv2" for the libraryMiklos Szeredi-1/+1
2007-10-16doc update from Evan JonesMiklos Szeredi-4/+8
2007-10-16doc updatesMiklos Szeredi-8/+9
2007-05-23lowlevel lib: add fuse_reply_iov function...Miklos Szeredi-0/+13