aboutsummaryrefslogtreecommitdiffstats
path: root/doc
AgeCommit message (Collapse)AuthorLines
2025-03-11doc: Add new README about notification operationsLuis Henriques-0/+37
The main goal of this new file is to warn about the deadlocking risks when using the out-of-band notify operations while replying to other requests. Signed-off-by: Luis Henriques <luis@igalia.com>
2024-10-30Correct arg documentation for FUSE_READLINKBernd Schubert-1/+1
It does not have an in-argument.
2024-10-20Update libfuse-operations.txt for FUSE_SYMLINKBernd Schubert-2/+2
2024-08-07doc/libfuse-operations: Fix FUSE_STATX in_args[1] descriptionJoanne Koong-1/+1
2024-07-03Add list of libfuse (kernel) operationsBernd Schubert-0/+418
This is to document operations and to also list their in/out arguments. This list was auto generated and only partly verified, use with care. Not all operations are supported by libfuse yet.
2024-07-03high-level: add fmask and dmask optionsgandalfs_cat-2/+2
dmask: umask applied to directories fmask: umask applied to non-directories to get "typical" permission bits for regular files (0644) and directories (0755), a single umask option is not sufficient (or well, it isn't the way fuse implements it) there is precident for separate umask and dmask options in other filesystems (see for example fat: https://github.com/torvalds/linux/tree/master/fs/fat) this addition should not affect backward-compatibility; the original umask option retains the same meaning, but non-zero fmask or dmask will override it.
2024-04-02Add more documentation for FUSE_CAP_EXPORT_SUPPORT (#917)Bernd Schubert-0/+11
Add more documentation for FUSE_CAP_EXPORT_SUPPORT Also remove the flag from passthrough_ll.c and passthrough_hp.cc as these implementations do _not_ handle that flag. They just cast fuse_ino_t to an inode and cause a heap buffer overflow for unknown objects (simplest reproducer are the examples in "man 2 open_by_handle_at", but to unmount/mount the file system after name_to_handle_at and before open_by_handle_at). Fixes https://github.com/libfuse/libfuse/issues/838 --------- Co-authored-by: Nikolaus Rath <Nikolaus@rath.org>
2023-04-12Fix doxygen deprecation warning (#774)Matthias Görgens-638/+2098
Before: ``` $ doxygen doc/Doxyfile warning: Tag 'COLS_IN_ALPHA_INDEX' at line 707 of file 'doc/Doxyfile' has become obsolete. To avoid this warning please remove this line from your configuration file or upgrade it using "doxygen -u" warning: Tag 'PERL_PATH' at line 1048 of file 'doc/Doxyfile' has become obsolete. To avoid this warning please remove this line from your configuration file or upgrade it using "doxygen -u" warning: Tag 'CLASS_DIAGRAMS' at line 1061 of file 'doc/Doxyfile' has become obsolete. To avoid this warning please remove this line from your configuration file or upgrade it using "doxygen -u" warning: Tag 'MSCGEN_PATH' at line 1070 of file 'doc/Doxyfile' has become obsolete. To avoid this warning please remove this line from your configuration file or upgrade it using "doxygen -u" warning: Tag 'DOT_TRANSPARENT' at line 1207 of file 'doc/Doxyfile' has become obsolete. To avoid this warning please remove this line from your configuration file or upgrade it using "doxygen -u" warning: Changing CLASS_GRAPH option to TEXT because obsolete option CLASS_DIAGRAM was found and set to NO. /Users/matthias/prog/fuser/libfuse/include/fuse.h:934: warning: argument 'private_data' of command @param is not found in the argument list of fuse_new_31(struct fuse_args *args, const struct fuse_operations *op, size_t op_size, void *user_data) /Users/matthias/prog/fuser/libfuse/include/fuse.h:934: warning: The following parameter of fuse_new_31(struct fuse_args *args, const struct fuse_operations *op, size_t op_size, void *user_data) is not documented: parameter 'user_data' ``` So let's try `doxygen -u doc/Doxyfile`. After: ``` $ doxygen doc/Doxyfile /Users/matthias/prog/fuser/libfuse/include/fuse.h:934: warning: argument 'private_data' of command @param is not found in the argument list of fuse_new_31(struct fuse_args *args, const struct fuse_operations *op, size_t op_size, void *user_data) /Users/matthias/prog/fuser/libfuse/include/fuse.h:934: warning: The following parameter of fuse_new_31(struct fuse_args *args, const struct fuse_operations *op, size_t op_size, void *user_data) is not documented: parameter 'user_data' ``` The generated documentation `doc/html` does not differ. For ease of review, here's a diff with all blank lines and comments removed via `grep -vE '^#|^$' doc/Doxyfile` ``` diff --git a/doc/Doxyfile.old b/doc/Doxyfile.new index dbf469b..3f56d32 100644 --- a/doc/Doxyfile.old +++ b/doc/Doxyfile.new @@ -3,0 +4,2 @@ PROJECT_NUMBER = +PROJECT_BRIEF = +PROJECT_LOGO = @@ -5,0 +8,2 @@ CREATE_SUBDIRS = NO +CREATE_SUBDIRS_LEVEL = 8 +ALLOW_UNICODE_NAMES = NO @@ -26,0 +31 @@ JAVADOC_AUTOBRIEF = NO +JAVADOC_BANNER = NO @@ -28,0 +34 @@ MULTILINE_CPP_IS_BRIEF = NO +PYTHON_DOCSTRING = YES @@ -36,0 +43,5 @@ OPTIMIZE_OUTPUT_VHDL = NO +OPTIMIZE_OUTPUT_SLICE = NO +EXTENSION_MAPPING = +MARKDOWN_SUPPORT = YES +TOC_INCLUDE_HEADINGS = 5 +AUTOLINK_SUPPORT = YES @@ -41,0 +53 @@ DISTRIBUTE_GROUP_DOC = NO +GROUP_NESTED_COMPOUNDS = NO @@ -42,0 +55,2 @@ SUBGROUPING = YES +INLINE_GROUPED_CLASSES = NO +INLINE_SIMPLE_STRUCTS = NO @@ -43,0 +58,2 @@ TYPEDEF_HIDES_STRUCT = NO +LOOKUP_CACHE_SIZE = 0 +NUM_PROC_THREADS = 1 @@ -45,0 +62,2 @@ EXTRACT_PRIVATE = NO +EXTRACT_PRIV_VIRTUAL = NO +EXTRACT_PACKAGE = NO @@ -49,0 +68 @@ EXTRACT_ANON_NSPACES = NO +RESOLVE_UNNAMED_PARAMS = YES @@ -56,0 +76,2 @@ HIDE_SCOPE_NAMES = NO +HIDE_COMPOUND_REFERENCE= NO +SHOW_HEADERFILE = YES @@ -57,0 +79,2 @@ SHOW_INCLUDE_FILES = YES +SHOW_GROUPED_MEMB_INC = NO +FORCE_LOCAL_INCLUDES = NO @@ -60,0 +84 @@ SORT_BRIEF_DOCS = NO +SORT_MEMBERS_CTORS_1ST = NO @@ -62,0 +87 @@ SORT_BY_SCOPE_NAME = NO +STRICT_PROTO_MATCHING = NO @@ -72,0 +98,2 @@ FILE_VERSION_FILTER = +LAYOUT_FILE = +CITE_BIB_FILES = @@ -76,0 +104 @@ WARN_IF_DOC_ERROR = YES +WARN_IF_INCOMPLETE_DOC = YES @@ -77,0 +106,2 @@ WARN_NO_PARAMDOC = NO +WARN_IF_UNDOC_ENUM_VAL = NO +WARN_AS_ERROR = NO @@ -78,0 +109 @@ WARN_FORMAT = "$file:$line: $text" +WARN_LINE_FORMAT = "at line $line of file $file" @@ -82 +113,5 @@ INPUT_ENCODING = UTF-8 -FILE_PATTERNS = *.h *.c *.h *.dox +INPUT_FILE_ENCODING = +FILE_PATTERNS = *.h \ + *.c \ + *.h \ + *.dox @@ -89 +124,2 @@ EXAMPLE_PATH = example -EXAMPLE_PATTERNS = *.c *.h +EXAMPLE_PATTERNS = *.c \ + *.h @@ -94,0 +131,3 @@ FILTER_SOURCE_FILES = NO +FILTER_SOURCE_PATTERNS = +USE_MDFILE_AS_MAINPAGE = +FORTRAN_COMMENT_AFTER = 72 @@ -100,0 +140 @@ REFERENCES_LINK_SOURCE = YES +SOURCE_TOOLTIPS = YES @@ -104 +143,0 @@ ALPHABETICAL_INDEX = NO -COLS_IN_ALPHA_INDEX = 5 @@ -112 +151,10 @@ HTML_STYLESHEET = -GENERATE_HTMLHELP = NO +HTML_EXTRA_STYLESHEET = +HTML_EXTRA_FILES = doc/fast17-vangoor.pdf +HTML_COLORSTYLE = AUTO_LIGHT +HTML_COLORSTYLE_HUE = 220 +HTML_COLORSTYLE_SAT = 100 +HTML_COLORSTYLE_GAMMA = 80 +HTML_TIMESTAMP = NO +HTML_DYNAMIC_MENUS = YES +HTML_DYNAMIC_SECTIONS = YES +HTML_INDEX_NUM_ENTRIES = 100 @@ -114,0 +163 @@ DOCSET_FEEDNAME = "Doxygen generated docs" +DOCSET_FEEDURL = @@ -116,2 +165,3 @@ DOCSET_BUNDLE_ID = org.doxygen.Project -HTML_DYNAMIC_SECTIONS = YES -HTML_EXTRA_FILES = doc/fast17-vangoor.pdf +DOCSET_PUBLISHER_ID = org.doxygen.Publisher +DOCSET_PUBLISHER_NAME = Publisher +GENERATE_HTMLHELP = NO @@ -123,0 +174,10 @@ TOC_EXPAND = NO +GENERATE_QHP = NO +QCH_FILE = +QHP_NAMESPACE = org.doxygen.Project +QHP_VIRTUAL_FOLDER = doc +QHP_CUST_FILTER_NAME = +QHP_CUST_FILTER_ATTRS = +QHP_SECT_FILTER_ATTRS = +QHG_LOCATION = +GENERATE_ECLIPSEHELP = NO +ECLIPSE_DOC_ID = org.doxygen.Project @@ -125 +184,0 @@ DISABLE_INDEX = NO -ENUM_VALUES_PER_LINE = 4 @@ -126,0 +186,2 @@ GENERATE_TREEVIEW = NO +FULL_SIDEBAR = NO +ENUM_VALUES_PER_LINE = 4 @@ -127,0 +189,3 @@ TREEVIEW_WIDTH = 250 +EXT_LINKS_IN_WINDOW = NO +OBFUSCATE_EMAILS = YES +HTML_FORMULA_FORMAT = png @@ -128,0 +193,14 @@ FORMULA_FONTSIZE = 10 +FORMULA_MACROFILE = +USE_MATHJAX = NO +MATHJAX_VERSION = MathJax_2 +MATHJAX_FORMAT = HTML-CSS +MATHJAX_RELPATH = +MATHJAX_EXTENSIONS = +MATHJAX_CODEFILE = +SEARCHENGINE = NO +SERVER_BASED_SEARCH = NO +EXTERNAL_SEARCH = NO +SEARCHENGINE_URL = +SEARCHDATA_FILE = searchdata.xml +EXTERNAL_SEARCH_ID = +EXTRA_SEARCH_MAPPINGS = @@ -129,0 +208,18 @@ GENERATE_LATEX = NO +LATEX_OUTPUT = latex +LATEX_CMD_NAME = +MAKEINDEX_CMD_NAME = makeindex +LATEX_MAKEINDEX_CMD = makeindex +COMPACT_LATEX = NO +PAPER_TYPE = a4 +EXTRA_PACKAGES = +LATEX_HEADER = +LATEX_FOOTER = +LATEX_EXTRA_STYLESHEET = +LATEX_EXTRA_FILES = +PDF_HYPERLINKS = YES +USE_PDFLATEX = YES +LATEX_BATCHMODE = NO +LATEX_HIDE_INDICES = NO +LATEX_BIB_STYLE = plain +LATEX_TIMESTAMP = NO +LATEX_EMOJI_DIRECTORY = @@ -130,0 +227,5 @@ GENERATE_RTF = NO +RTF_OUTPUT = rtf +COMPACT_RTF = NO +RTF_HYPERLINKS = NO +RTF_STYLESHEET_FILE = +RTF_EXTENSIONS_FILE = @@ -131,0 +233,4 @@ GENERATE_MAN = NO +MAN_OUTPUT = man +MAN_EXTENSION = .3 +MAN_SUBDIR = +MAN_LINKS = NO @@ -132,0 +238,5 @@ GENERATE_XML = NO +XML_OUTPUT = xml +XML_PROGRAMLISTING = YES +XML_NS_MEMB_FILE_SCOPE = NO +GENERATE_DOCBOOK = NO +DOCBOOK_OUTPUT = docbook @@ -134,0 +245,3 @@ GENERATE_PERLMOD = NO +PERLMOD_LATEX = NO +PERLMOD_PRETTY = YES +PERLMOD_MAKEVAR_PREFIX = @@ -148,3 +261,2 @@ EXTERNAL_GROUPS = YES -PERL_PATH = /usr/bin/perl -CLASS_DIAGRAMS = NO -MSCGEN_PATH = +EXTERNAL_PAGES = YES +DIA_PATH = @@ -152,0 +265,4 @@ HAVE_DOT = NO +DOT_NUM_THREADS = 0 +DOT_COMMON_ATTR = "fontname=Helvetica,fontsize=10" +DOT_EDGE_ATTR = "labelfontname=Helvetica,labelfontsize=10" +DOT_NODE_ATTR = "shape=box,height=0.2,width=0.4" @@ -154 +270 @@ DOT_FONTPATH = -CLASS_GRAPH = YES +CLASS_GRAPH = TEXT @@ -157,0 +274,3 @@ UML_LOOK = NO +UML_LIMIT_NUM_FIELDS = 10 +DOT_UML_DETAILS = NO +DOT_WRAP_THRESHOLD = 17 @@ -164,0 +284 @@ DIRECTORY_GRAPH = YES +DIR_GRAPH_MAX_DEPTH = 1 @@ -165,0 +286 @@ DOT_IMAGE_FORMAT = png +INTERACTIVE_SVG = NO @@ -167,0 +289,5 @@ DOTFILE_DIRS = +MSCFILE_DIRS = +DIAFILE_DIRS = +PLANTUML_JAR_PATH = +PLANTUML_CFG_FILE = +PLANTUML_INCLUDE_PATH = @@ -170 +295,0 @@ MAX_DOT_GRAPH_DEPTH = 1000 -DOT_TRANSPARENT = NO @@ -174 +298,0 @@ DOT_CLEANUP = YES -SEARCHENGINE = NO ```
2023-04-04Document risks of auto_unmount (#763)Nikolaus Rath-0/+15
2021-08-25fix spellinga1346054-1/+1
2021-06-09fix typo in man (#609)Sergey Fedoseev-1/+1
2021-05-19Define FUSE_USE_VERSION in Doxygen. (#608)Junichi Uekawa-1/+1
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-08doc: Add "fuse (4)" to SEE ALSO sections in man pages (#601)rfjakob-0/+2
fuse (4) is an excellent introduction to the FUSE protocol, and it lists fusermount (1) and mount.fuse (8) in its SEE ALSO section. I (the author of gocryptfs) was not aware of this man page till March 2021, which suggest that it should be made more discoverable. So link back to fuse (4) in our SEE ALSO sections.
2021-05-05fusermount3.1: refer to mount.fuse3 (#599)Junichi Uekawa-1/+1
mount.fuse was renamed to mount.fuse3.
2020-10-03Fix typo "retuned" -> "returned" (#553)ferivoz-1/+1
2020-08-09Doc fixes (#537)Junichi Uekawa-2/+2
* Add fallocate to list of operations that may omit path. * earlier versions is 10+ years old. Document is not obvious how old it is. Add it. * Update manpage link
2020-07-03Fix the typo "filed" -> "field" in fuse manpage (#524)winndows-1/+1
Fix the typo "filed" -> "field" in fuse manpage. Signed-off-by: Liao Pingfang <liao.pingfang@zte.com.cn> Co-authored-by: Liao Pingfang <liao.pingfang@zte.com.cn>
2018-10-09Add unprivileged option in `mount.fuse3`Mattias Nissler-0/+10
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-07-04Fix manpage filename for mount.fuse3Laszlo Boszormenyi (GCS)-1/+1
2018-03-28Fix build error on DragonFlyBSD (sync with other *BSD) (#240)Tomohiro Kusumi-1/+1
DragonFlyBSD has no "bsd" in uname, so add 'dragonfly' to conditionals. -- e.g. uname(1) in DragonFlyBSD [root@ ~]# uname DragonFly [root@ ~]# python -c "import sys; print(sys.platform)" dragonfly5
2017-11-27Spelling (#223)Josh Soref-2/+2
Fix spelling errors
2017-10-20Don't install manpages under *BSDNikolaus Rath-1/+3
Were not installing the corresponding binaries either, since those are provided by the BSD base system.
2017-10-20Don't use Python mode for meson.buildNikolaus Rath-3/+0
Emacs now has a proper meson mode :-).
2017-09-17Include source code in documentation.Nikolaus Rath-1/+1
2017-09-17Added some documentation of fuse internals.Nikolaus Rath-0/+17
2017-08-24Dropped support for building with autotoolsNikolaus Rath-5/+0
It's just too much pain to keep it working.
2017-03-16Document that -o auto_unmount implies -o nodev,nosuidNikolaus Rath-0/+4
See also issue #148.
2017-01-12Added experimental support for building with Meson+NinjaNikolaus Rath-1/+6
2016-11-28Rename more things from fuse to fuse3Przemysław Pawełczyk-19/+20
2016-11-22Document that FUSE_CAP_POSIX_ACL turns on -o default_permissionsNikolaus Rath-3/+6
2016-11-17Distinguish between mount options and libfuse optionsNikolaus Rath-14/+18
2016-11-17Fixed manpage formatting.Nikolaus Rath-2/+1
2016-11-06Removed reference to developer-notes.rst (was removed earlier)Nikolaus Rath-1/+1
2016-11-06Fixed section names in documentation indexNikolaus Rath-2/+2
2016-10-28Clean-up doxygen documentationNikolaus Rath-791/+537
Fixes: #81.
2016-10-27man: Document suid requirementMihail Konev-2/+2
2016-10-27Add max_read to fuse_conn_infoNikolaus Rath-1/+7
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-27Recommend when to use -o default_permissions automaticallyNikolaus Rath-0/+3
2016-10-27Describe all mount options in mount.fuse(8).Nikolaus Rath-78/+99
Also improved manpage in several ways.
2016-10-27Improve documentation of -o default_permissionsNikolaus Rath-1/+9
2016-10-27Improve man page titleNikolaus Rath-1/+1
2016-10-25Clarify which mount options are intended for file-system internal use.Nikolaus Rath-7/+9
2016-10-20fuse_new(): don't accept options that don't make sense for end-usersNikolaus Rath-28/+4
Several options (use_ino, etc) depend on the file system implementation. Allowing them to be set from the command line makes no sense.
2016-10-20Document -o remember= mount option.Nikolaus Rath-3/+6
2016-10-20mount.fuse(8): remove max_readahead, max_write, [a]sync_readNikolaus Rath-12/+0
These are not mount options for FUSE file systems, but capabilites that are worked out between libfuse and the fuse kernel module. For that reason, they are also not accepted by fuse_session_new().
2016-10-16Mention that low-level fs need to set FUSE_CAP_EXPORT_SUPPORTNikolaus Rath-5/+5
2016-10-16Various documentation updatesNikolaus Rath-56/+35
Move README.NFS into doc/ Update project URL Remove reference to non-existent INSTALL file Remove outdated/obsolete NEWS and how-fuse-works files. Update references to examples.
2016-10-16Updated man-pages.Nikolaus Rath-37/+68
* Removed -o nonempty * Added -o noforget * Split into high-level / low-level * Added warning that most options should be chosen by file system internally. * Updated maintainer.
2016-10-15Fix documentation of -o max_write=Nikolaus Rath-1/+1
big_writes has been available for some time, and is the default in FUSE 3. So max_write now actually takes effect. (This really should have gone into commit 97f4a9cb4fc69)
2016-10-15Drop -o large_read mount optionNikolaus Rath-2/+0
This was only relevant for 2.4 kernels. Fixes #92.