aboutsummaryrefslogtreecommitdiff
path: root/include/fuse_lowlevel.h
AgeCommit message (Collapse)Author
2022-01-24Merge tag 'fuse-3.10.5' into HEADandroid-t-preview-2android-t-preview-1android-t-beta-3android-s-v2-beta-3android-s-qpr3-beta-1android-t-preview-1android-s-v2-beta-3android-s-qpr3-beta-1Alessio Balsini
Tagged release. Test: MediaProviderTests Bug: 216129364 Signed-off-by: Alessio Balsini <balsini@google.com> Change-Id: I1fcb0684f88e6160943f0d0d3ab797be13695e61
2021-11-16Support fuse-bpfAlessio Balsini
Add struct fuse_args Introduce bpf_arg in fuse_reply_entry Currently, the opcode filters are zeroed to preserve the libfuse compatibility. Bug: 202785178 Test: Along with other changes, file /sys/fs/bpf/prog_fuse_media_fuse_media appears. Signed-off-by: Alessio Balsini <balsini@google.com> Signed-off-by: Paul Lawrence <paullawrence@google.com> Change-Id: I38cd80d702813f4e2b45d69af2ca451fca0984c6
2021-05-19Define FUSE_USE_VERSION in Doxygen. (#608)Junichi Uekawa
We currently do not pass anything in PREDEFINED and that means FUSE_USE_VERSION is undefined. Add that definition so that Doxygen built-in C pre-processor can use FUSE_USE_VERSION value to find the correct comment to parse.
2021-05-07Fix doxygen warnings. (#600)Junichi Uekawa
Some parameters were undocumented, and @file does not mean to expand current file name.
2021-04-23Add missing exceptions to fuse_reply_err() documentation. (#597)Manuel Jacob
Co-authored-by: Manuel Jacob <test>
2021-03-30Fix typo in fuse_lowlevel.h (#593)Tobias Nießen
2021-01-10Fix typo (#578)Feverfew
2020-11-12Enable passthrough mode for read/write operationsAlessio Balsini
Add support for filesystem passthrough read/write of files. When the FUSE_PASSTHROUGH capability is enabled, the FUSE daemon may decide while handling the "open" or "create" operation, if the given file can be accessed by that process in "passthrough" mode, meaning that all the further read and write operations would be forwarded by the kernel directly to the lower filesystem rather than to the FUSE daemon. All requests that aren't read or write are still handled by the userspace code. This allows for an improved performance on reads and writes, especially in the case of reads at random offsets, for which no (readahead) caching mechanism would help, reducing the performance gap between FUSE and native filesystem access. Extend also the passthrough_hp example with the new passthrough feature. Bug: 168023149 Test: atest ScopedStorageTest Signed-off-by: Alessio Balsini <balsini@android.com> Change-Id: I38aff0cf7198b7cd92eccc97547d47f4e1132b00
2020-08-09Define fuse_session_loop_mt as a macro on uclibc and MacOS (#532)asafkahlon
On uclibc and MacOS we don't use versioned symbols. Hence, there's no definition for fuse_session_loop_mt on those cases and the linker won't be able to resolve calls to fuse_session_loop_mt() Signed-off-by: Asaf Kahlon <asafka7@gmail.com>
2020-01-10Support FUSE_CANONICAL_PATH in libfuseZim
FUSE_CANONICAL_PATH opcode, (2016) was added in some Android kernels to support inotify. Add canonical path handlers in libfuse and create a patch file to easily apply this patch on top of updates. Test: inotify - /sdcard on Taimen Test: atest FileObserver Bug: 147482155 Change-Id: I97a2c4247aa3e4a70af697569b56662a0755f72b
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-09Update to libfuse 3.8.0Zim
The latest release allows a custom logger Bug: 135341433 Test: adb shell ls /sdcard with persist.sys.fuse Change-Id: Iaa8a2bb7b6da3f364fba41b443527a998a26549f
2019-11-03Implement lseek operation (#457)Yuri Per
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-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-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-06Document when `fuse_lowlevel_notify_*` functions may block.Nikolaus Rath
2018-09-20Clarify what qualifies as a "related operation" for notify_inval_entry.Nikolaus Rath
2018-07-04Document that access() is also called on chdir().Nikolaus Rath
Source: Miklos Szeredi on fuse-devel, Wednesday, 4 July 2018 15:29.
2017-11-27Spelling (#223)Josh Soref
Fix spelling errors
2017-08-24Add idle_threads mount option.Joseph Dodge
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-08Added public fuse_lib_help(), bumped minor versionNikolaus Rath
2017-07-07Error out if FUSE_USE_VERSION is not definedNikolaus Rath
This is safer than making assumptions.
2017-06-08Clarify *_timeout semanticsNikolaus Rath
When changes always come through kernel, timeouts should be large.
2017-05-31Clarify that destroy() is called without kernel connectionNikolaus Rath
2017-05-25Fix typo in comment.Nikolaus Rath
2017-05-25Document RENAME_EXCHANGE and RENAME_NOREPLACE flags.Nikolaus Rath
2017-03-15open(): fix documentation of O_TRUNC flagNikolaus Rath
The FUSE_CAP_ATOMIC_IO_TRUNC capability is enabled by default, but we didn't update the open() documentation accordingly.
2016-11-29Improve documentation of fuse_session_unmountNikolaus Rath
2016-11-29Return signal value if session loop is terminated by signal and improve ↵Nikolaus Rath
documentation
2016-11-22Add support for FUSE_HANDLE_KILLPRIVNikolaus Rath
Fixes #116.
2016-11-16Add support for more detailed error codes from main loopNikolaus Rath
2016-11-16Fix typo in commentNikolaus Rath
2016-11-16Document special semantics of ENOSYS error code.Nikolaus Rath
2016-11-14Improve getattr() descriptionNikolaus Rath
When writeback caching is enabled, the st_size value reported by the filesystem may be ignored.
2016-10-28Clean-up doxygen documentationNikolaus Rath
Fixes: #81.
2016-10-27Removed some more "Changed in version x.py" comments.Nikolaus Rath
2016-10-27Recommend when to use -o default_permissions automaticallyNikolaus Rath
2016-10-25Clarify difference between notify_inval_entry and notify_delete().Nikolaus Rath
Fixes #85.
2016-10-24fuse_session_new(): don't accept empty argv, check argv[0]Nikolaus Rath
This should help avoid people to accidentally put options into argv[0]. Fixes #100.