aboutsummaryrefslogtreecommitdiffstats
path: root/include/fuse_kernel.h
AgeCommit message (Collapse)AuthorLines
2019-04-06Synchronize fuse_kernel.h with current kernel master.Nikolaus Rath-2/+18
2019-04-06Delete FUSE_FSYNC_FDATASYNCNikolaus Rath-7/+0
This constant is not defined in the kernel, so it will be lost when fuse_kernel.h is not synchronized. Instead, the kernel just passes a flag value of "1", so for now we also use a literal in userspace.
2019-03-09Fix the changelog entry for protocol version 7.12 (#374)Alan Somers-1/+1
Commit 24b35c3d97ffdbf0a1f8e8b4e94ed892343603a6 had a simple mistake in its changelog entry.
2019-03-08Document fuse_fsync_in.fsync_flags and remove magic numbers (#375)Alan Somers-0/+7
2018-11-19libfuse: add copy_file_range() supportNiels de Vos-45/+59
Add support for the relatively new copy_file_range() syscall. Backend filesystems can now implement an efficient way of cloning/duplicating data ranges within files. See 'man 2 copy_file_range' for more details.
2018-11-19Update kernel API headersNiels de Vos-1/+7
Taken from Linux kernel commit 3b7008b226f3.
2016-11-22Updated kernel API headers.Nikolaus Rath-1/+29
Taken from Linux kernel commit 27bcd37.
2015-05-18libfuse: add "clone_fd" optionMiklos Szeredi-0/+3
This creates a separate device file descriptor for each processing thread, which might improve performance.
2015-04-23libfuse: add FUSE_CAP_NO_OPEN_SUPPORT flag to ->init()Miklos Szeredi-0/+3
2014-07-15libfuse: add flags to ->rename()Miklos Szeredi-0/+8
See renameat2() system call in linux-3.15 and later kernels.
2014-07-15libfuse: allow setting ctime in ->setattr()Miklos Szeredi-2/+5
2014-07-15libfuse: add "time_gran" optionMiklos Szeredi-1/+8
This allows the filesystem to specify the time granularity it supports when the kernel is responsible for updating times ("writeback_cache" option).
2014-01-29libfuse: Add "async_dio" and "writeback_cache" optionsMiklos Szeredi-1/+11
Asynchronous direct I/O is supported by linux kernels 3.13 and later, writeback caching is supported by 3.14 and later.
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-07libfuse: allow disabling adaptive readdirplusEric Wong-0/+3
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/+2
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/+16
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-1/+6
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-06-18Add FALLOCATE operationAnatol Pomozov-1/+13
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-01-24Revert "Add mmap() and munmap() methods to low level API"Miklos Szeredi-25/+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-07libfuse: Notifying the kernel of deletion.John Muir-0/+9
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-0/+25
Currently this is only useful for CUSE. Also update retrieve_reply() method.
2011-12-05Add support for ioctl on directoriesMiklos Szeredi-1/+6
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-19Fix ioctl ABIMiklos Szeredi-0/+10
Fix the ambiguity of ioctl ABI on the kernel/userspace boundary for 32bit vs. 64bit userspace
2011-05-19Allow batching of forget requestsMiklos Szeredi-1/+15
This allows forget requests to be processed faster and doesn't require a modification to fuse filesystems. Reported by Terje Malmedal
2010-11-08libfuse: add retrieve requestMiklos Szeredi-0/+21
Retrieve data stored in the kernel buffers for a given inode.
2010-11-08libfuse: add store requestMiklos Szeredi-1/+12
Request data to be stored in the kernel buffers for a given inode.
2010-06-23update fuse_kernel.hMiklos Szeredi-1/+8
2010-06-23* Make the number of max background requests and congestionMiklos Szeredi-2/+4
threshold tunable.
2009-07-16* Clarify how the protocol version should be negotiated betweenMiklos Szeredi-0/+20
kernel and userspace. Notably libfuse didn't correctly handle the case when the supported major versions didn't match
2009-07-02* The context is extended with a 'umask' field. The umask is sentMiklos Szeredi-2/+35
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-18CUSE patches from Tejun HeoMiklos Szeredi-0/+31
2008-12-08* Implement poll support. Patch by Tejun HeoMiklos Szeredi-0/+31
2008-12-05* Implement ioctl support. On high level interface onlyMiklos Szeredi-13/+37
"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/+14
not seekable. Patch by Tejun Heo
2008-06-16Remove fuse kernel module sourcesMiklos Szeredi-0/+441