aboutsummaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
2020-01-31Update comment for the copy_file_range operation (#497)Florian Weimer
copy_file_range was first implemented with copy-based emulation in glibc 2.27, but the emulation was subsequently removed again because correct emulation depends on why the application attempted to make a copy. Therefore, file systems cannot rely on low-level userspace performing emulation.
2020-01-27Remove trailing comma in enums (#494)zsugabubus
They are illegal in C89/90.
2019-12-31Style: Fix an indention in comments (#480)Changli Gao
2019-12-31Bump FUSE_MINOR_VERSIONNikolaus Rath
This was forgotten over several releases.
2019-12-31Make ioctl prototype conditional on FUSE_USE_VERSION. (#482)Bill Zissimopoulos
Define FUSE_USE_VERSION < 35 to get old ioctl prototype with int commands; define FUSE_USE_VERSION >= 35 to get new ioctl prototype with unsigned int commands. Fixes #463.
2019-11-27Added support for FUSE_EXPLICIT_INVAL_DATA to enable (#474)Albert Chen
2019-11-03Implement lseek operation (#457)Yuri Per
2019-09-10log: move fuse_log() to the public header fileStefan Hajnoczi
Applications may wish to call fuse_log() for unified logging. This way they don't need to define their own wrappers to invoke the log message handler function installed by fuse_set_log_func(). Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2019-09-04Introduce callback for loggingStefan Hajnoczi
Introduce an API for custom log handler functions. This allows libfuse applications to send messages to syslog(3) or other logging systems. See include/fuse_log.h for details. Convert libfuse from fprintf(stderr, ...) to log_fuse(level, ...). Most messages are error messages with FUSE_LOG_ERR log level. There are also some debug messages which now use the FUSE_LOG_DEBUG log level. Note that lib/mount_util.c is used by both libfuse and fusermount3. Since fusermount3 does not link against libfuse, we cannot call fuse_log() from lib/mount_util.c. This file will continue to use fprintf(stderr, ...) until someone figures out how to split it up. Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2019-08-23Shorten comment.Nikolaus Rath
2019-08-23Improve description of READDIRPLUS_AUTO.Nikolaus Rath
2019-08-23Clarify bitfield padding issue (#445)AsumFace
* Clarify bitfield padding issue * Add a more elaborate note to fuse_file_info
2019-07-09Sync fuse_kernel.h with Linux 5.2 (#433)Kirill Smelkov
2019-05-24Remove incorrect comment about fuse_entry_param.generation (#420)Alan Somers
A comment said that fuse_entry_param.generation must be non-zero. However, I can't find anything in the kernel that requires that, and real-world file systems don't seem to follow that advice, either.
2019-04-16Add documentation for opting out of opendir and releasedir (#391)Chad Austin
2019-04-06Add support for in-kernel readdir caching.Nikolaus Rath
Fixes: #394.
2019-04-06Synchronize fuse_kernel.h with current kernel master.Nikolaus Rath
2019-04-06Delete FUSE_FSYNC_FDATASYNCNikolaus Rath
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-04-06Various documentation improvementsAlan Somers
See issue #389 for some related discussions.
2019-03-11Defined the (*ioctl)() commands as unsigned int (#381)Jean-Pierre André
Instead of the Posix ioctl(2) command, Linux uses its own variant of ioctl() in which the commands are requested as "unsigned long" and truncated to 32 bits by the fuse kernel module. Transmitting the commands to user space file systems as "unsigned int" is a workaround for processing ioctl() commands which do not fit into a signed int.
2019-03-10Improve documentation for the flush method (#378)Alan Somers
Fixes: #373
2019-03-09Improve readdir() and file handle documentationChad Austin
Fixes: #333
2019-03-09Fix the changelog entry for protocol version 7.12 (#374)Alan Somers
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
2019-01-21Clarify documentation of fuse_lowlevel_inval_inodeNikolaus Rath
Fixes: #341.
2018-11-19libfuse: add copy_file_range() supportNiels de Vos
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
Taken from Linux kernel commit 3b7008b226f3.
2018-11-06Document when `fuse_lowlevel_notify_*` functions may block.Nikolaus Rath
2018-10-09Add unprivileged option in `mount.fuse3`Mattias Nissler
The unprivileged option allows to run the FUSE file system process without privileges by dropping capabilities and preventing them from being re-acquired via setuid / fscaps etc. To accomplish this, mount.fuse sets up the `/dev/fuse` file descriptor and mount itself and passes the file descriptor via the `/dev/fd/%u` mountpoint syntax to the FUSE file system.
2018-09-20Clarify what qualifies as a "related operation" for notify_inval_entry.Nikolaus Rath
2018-09-20Don't enable adaptive readdirplus unless fs has readdir() handler.Nikolaus Rath
2018-08-29return different non-zero error codes (#290)Oded Arbel
Return different error codes from fuse_main()
2018-08-25Make meson build scripts subprojects friendlyMartin Blanchard
Multiple meson build scripts improvements including: * Bump meson requirement to 0.40.1 (0.40 already required) * Declare a dependency object for main library * Stop using add_global_arguments() * Various minor style fixes
2018-07-04Document that access() is also called on chdir().Nikolaus Rath
Source: Miklos Szeredi on fuse-devel, Wednesday, 4 July 2018 15:29.
2018-07-02fuse.h: fix typo (currenlty -> currently)William Woodruff
2018-05-24fix documentation for opendir in fuse_operationsCarl Edquist
the filehandle from opendir is passed to releasedir - there is no closedir function in fuse_operations
2018-04-13Drop redundant ; from FUSE_REGISTER_MODULE()Tomohiro Kusumi
Callers do (and should) use ;.
2017-11-27Spelling (#223)Josh Soref
Fix spelling errors
2017-08-24Dropped support for building with autotoolsNikolaus Rath
It's just too much pain to keep it working.
2017-08-24Add idle_threads mount option.Joseph Dodge
2017-08-24Allow inode cache invalidation in high-level APISławek Rudnicki
We re-introduce the functionality of invalidating the caches for an inode specified by path by adding a new routine fuse_invalidate_path. This is useful for network-based file systems which use the high-level API, enabling them to notify the kernel about external changes. This is a revival of Miklos Szeredi's original code for the fuse_invalidate routine.
2017-08-22Document and unify error codes of fuse_lowlevel_notify_*Nikolaus Rath
2017-08-22Document meaning of zero telldir() offset.Nikolaus Rath
2017-08-06Clarified documentation for fuse_parse_cmdline()Nikolaus Rath
2017-08-06Clarify how the filesystem should handle open/create flagsNikolaus Rath
2017-08-03Simplify and fix FreeBSD fsname handlingNikolaus Rath
This should simplify the code a lot. It also corrects a bug in that the (former) add_default_fsname() function actually set the -osubtype option.
2017-08-03FreeBSD: supprt fsname= optionBaptiste Daroussin
2017-07-13Only declare fuse_new_30() when FUSE_USE_VERSION == 30Nikolaus Rath
This function shouldn't be called when using a newer fuse version, so we should not define it in that case.
2017-07-08Added public fuse_lib_help(), bumped minor versionNikolaus Rath
2017-07-08Fixed description of struct fuse_conn_info->time_granNikolaus Rath
At least on Linux kernel 4.9, a value of zero gives more than 1-sec accuracy.