aboutsummaryrefslogtreecommitdiffstats
path: root/include/fuse_common.h
AgeCommit message (Collapse)AuthorLines
2018-09-20Don't enable adaptive readdirplus unless fs has readdir() handler.Nikolaus Rath-4/+15
2017-11-27Spelling (#223)Josh Soref-2/+2
Fix spelling errors
2017-08-24Add idle_threads mount option.Joseph Dodge-1/+23
2017-07-08Added public fuse_lib_help(), bumped minor versionNikolaus Rath-1/+1
2017-07-08Fixed description of struct fuse_conn_info->time_granNikolaus Rath-2/+3
At least on Linux kernel 4.9, a value of zero gives more than 1-sec accuracy.
2017-06-08Clarify *_timeout semanticsNikolaus Rath-2/+2
When changes always come through kernel, timeouts should be large.
2017-03-15open(): fix documentation of O_TRUNC flagNikolaus Rath-1/+3
The FUSE_CAP_ATOMIC_IO_TRUNC capability is enabled by default, but we didn't update the open() documentation accordingly.
2016-11-29Return signal value if session loop is terminated by signal and improve ↵Nikolaus Rath-2/+2
documentation
2016-11-29Improve documentation of `fuse_file_info.keep_cache`Nikolaus Rath-2/+3
2016-11-22Document that FUSE_CAP_POSIX_ACL turns on -o default_permissionsNikolaus Rath-1/+5
2016-11-22Add support for FUSE_HANDLE_KILLPRIVNikolaus Rath-0/+9
Fixes #116.
2016-11-22Add support for FUSE_POSIX_ACLNikolaus Rath-0/+15
Fixes #117.
2016-11-22Added support for FUSE_PARALLEL_DIROPSNikolaus Rath-0/+10
Enabled by default since we haven't released libfuse 3.0 yet :-). Fixes #112.
2016-11-22Document fuse_conn_info.max_backgroundNikolaus Rath-4/+26
Fixes #95.
2016-11-16Enable more capabilities by default, and document defaults.Nikolaus Rath-7/+42
Fixes #112.
2016-11-16Document "congestion_threshold" parameter.Nikolaus Rath-4/+6
Fixes #96. Thanks to Maxim Patlasov <mpatlasov@virtuozzo.com> for help!
2016-11-14Make max_background and congestion_threshold "officially undocumented"Nikolaus Rath-3/+8
2016-11-14Improve documentation of FUSE_CAP_AUTO_INVAL_DATANikolaus Rath-2/+16
Fixes #84.
2016-11-14Improve description of FUSE_CAP_NO_OPEN_SUPPORT flag.Nikolaus Rath-1/+9
Fixes #107.
2016-11-10Added documentation for FUSE_CAP_FLOCK_LOCKSNikolaus Rath-2/+6
Fixes #106.
2016-11-10Improve documentation of fuse_conn_info.time_gran.Nikolaus Rath-3/+12
Fixes #97.
2016-10-28Clean-up doxygen documentationNikolaus Rath-3/+2
Fixes: #81.
2016-10-27Add max_read to fuse_conn_infoNikolaus Rath-0/+14
Eventually, this setting should be negotiated in the filesystem's init() handler (like e.g. max_write). However, this requires corresponding changes in the FUSE kernel module. In preparation for this (and to allow a transition period) we already allow (and require) filesystems to set the value in the init() handler in addition to the mount option. The end-goal is tracked in issue #91.
2016-10-27Removed some more "Changed in version x.py" comments.Nikolaus Rath-2/+0
2016-10-27Improve documentation of capability flags.Nikolaus Rath-18/+83
2016-10-20Removed all "Introduced in..." commentsNikolaus Rath-9/+6
Since FUSE 3 is breaking backwards compatibility, this really does not matter.
2016-10-15Unify handling of fuse_conn_info optionsNikolaus Rath-0/+55
Instead of using command line options to modify struct fuse_conn_info before and after calling the init() handler, we now give the file system explicit control over this.
2016-10-13do_init(): treat command line options consistentlyNikolaus Rath-2/+5
Previously, some command line options would change the FUSE defaults but leave the final value to the file systems `init` handler while others would override any changes made by `init`. Now, command line options do both: they modify the default, *and* take precedence.
2016-10-10Removed 'async_read' field in fuse_conn_infoNikolaus Rath-5/+0
This is redundant with the capability flags in `wants` and `capable`.
2016-10-08Removed ``-o big_writes`` optionNikolaus Rath-2/+2
This option is obsolete and should always be enabled. File systems that want to limit the size of write requests should use the ``-o max_write=<N>`` option instead.
2016-10-02Don't handle --help and --version in fuse_session_new().Nikolaus Rath-28/+0
Help and version messages can be generated using the new fuse_lowlevel_help(), fuse_lowlevel_version(), fuse_mount_help(), and fuse_mount_version() functions. The fuse_parse_cmdline() function has been made more powerful to do this automatically, and is now explicitly intended only for low-level API users. This is a code simplication patch. We don't have to parse for --help and --version in quite as many places, and we no longer have a low-level initialization function be responsible for the (super-high level) task of printing a program usage message. In the high-level API, we can now handle the command line parsing earlier and avoid running other initialization code if we're just going to abort later on.
2016-10-02Turn struct fuse_chan into an implementation detailNikolaus Rath-1/+0
The only struct fuse_chan that's accessible to the user application is the "master" channel that is returned by fuse_mount and stored in struct fuse_session. When using the multi-threaded main loop with the "clone_fd" option, each worker thread gets its own struct fuse_chan. However, none of these are available to the user application, nor do they hold references to struct fuse_session (the pointer is always null). Therefore, any presence of struct fuse_chan can be removed without loss of functionality by relying on struct fuse_session instead. This reduces the number of API functions and removes a potential source of confusion (since the new API no longer looks as if it might be possible to add multiple channels to one session, or to share one channel between multiple sessions). Fixes issue #17.
2016-10-02Introduce separate mount/umount functions for low-level API.Nikolaus Rath-26/+0
2016-10-01Improve documentation of argument parsing.Nikolaus Rath-3/+13
2016-04-27Fixup commit 482a49c.Nikolaus Rath-1/+1
2016-04-27Merge remote-tracking branch 'origin/master'Nikolaus Rath-3/+3
2016-04-23Remove leading _ on header guards to comply with reserved identifier ↵Sam Stuewe-3/+3
requirements (#29) Remove leading _ on header guards to comply with reserved identifier requirements
2016-03-29Whitespace cleanup.Nikolaus Rath-2/+2
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.
2015-07-30Added fuse_pkgversion functionChristopher Harrison-0/+7
Returns the full PACKAGE_VERSION string, per autoconf
2015-04-23libfuse: add FUSE_CAP_NO_OPEN_SUPPORT flag to ->init()Miklos Szeredi-0/+2
2014-07-15libfuse: add "time_gran" optionMiklos Szeredi-1/+9
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-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>