Bernd Schubert
8a3746fe0e
Correct arg documentation for FUSE_READLINK
...
It does not have an in-argument.
2024-10-30 17:58:09 +01:00
Bernd Schubert
617109955c
Update libfuse-operations.txt for FUSE_SYMLINK
2024-10-20 14:20:55 +02:00
Joanne Koong
2251a69223
doc/libfuse-operations: Fix FUSE_STATX in_args[1] description
2024-08-07 10:12:12 +02:00
Bernd Schubert
21b6ad2124
Add list of libfuse (kernel) operations
...
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-03 13:14:19 +02:00
gandalfs_cat
54b8cd6757
high-level: add fmask and dmask options
...
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-07-03 12:50:06 +02:00
Bernd Schubert
e2df577a7c
Add more documentation for FUSE_CAP_EXPORT_SUPPORT ( #917 )
...
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>
2024-04-02 23:52:18 +02:00
Matthias Görgens
36c2250d10
Fix doxygen deprecation warning ( #774 )
...
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-12 09:10:12 +01:00
Nikolaus Rath
4cf25c27f8
Document risks of auto_unmount ( #763 )
2023-04-04 22:20:19 +01:00
a1346054
173bffc9f4
fix spelling
2021-08-25 14:46:25 +02:00
Sergey Fedoseev
f4187fe5fa
fix typo in man ( #609 )
2021-06-09 09:04:08 +01:00
Junichi Uekawa
0b6d97cf59
Define FUSE_USE_VERSION in Doxygen. ( #608 )
...
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-19 09:32:14 +01:00
rfjakob
d169d512de
doc: Add "fuse (4)" to SEE ALSO sections in man pages ( #601 )
...
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-08 14:15:55 +01:00
Junichi Uekawa
98e261cfab
fusermount3.1: refer to mount.fuse3 ( #599 )
...
mount.fuse was renamed to mount.fuse3.
2021-05-05 10:51:08 +01:00
ferivoz
f54eb86e9a
Fix typo "retuned" -> "returned" ( #553 )
2020-10-03 13:14:00 +01:00
Junichi Uekawa
e8a9e84672
Doc fixes ( #537 )
...
* 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-08-09 12:35:28 +01:00
winndows
9fa4dc1661
Fix the typo "filed" -> "field" in fuse manpage ( #524 )
...
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>
2020-07-03 12:30:40 +01:00
Mattias Nissler
da7c9b228a
Add unprivileged option in mount.fuse3
...
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-10-09 20:36:22 +01:00
Laszlo Boszormenyi (GCS)
644ec8ceca
Fix manpage filename for mount.fuse3
2018-07-04 19:52:32 +01:00
Tomohiro Kusumi
72ab7172b8
Fix build error on DragonFlyBSD (sync with other *BSD) ( #240 )
...
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
2018-03-28 20:32:59 +01:00
Josh Soref
8157b4d9b9
Spelling ( #223 )
...
Fix spelling errors
2017-11-27 10:23:20 +00:00
Nikolaus Rath
16422eb03c
Don't install manpages under *BSD
...
Were not installing the corresponding binaries either, since those
are provided by the BSD base system.
2017-10-20 09:20:39 +01:00
Nikolaus Rath
945ce7a9d4
Don't use Python mode for meson.build
...
Emacs now has a proper meson mode :-).
2017-10-20 09:19:16 +01:00
Nikolaus Rath
da363c514b
Include source code in documentation.
2017-09-17 09:39:47 +01:00
Nikolaus Rath
109ab4fa53
Added some documentation of fuse internals.
2017-09-17 09:35:43 +01:00
Nikolaus Rath
30ead3a5cf
Dropped support for building with autotools
...
It's just too much pain to keep it working.
2017-08-24 20:50:44 +02:00
Nikolaus Rath
77dee679eb
Document that -o auto_unmount implies -o nodev,nosuid
...
See also issue #148 .
2017-03-16 10:47:26 -07:00
Nikolaus Rath
9f96db7125
Added experimental support for building with Meson+Ninja
2017-01-12 15:19:04 -08:00
Przemysław Pawełczyk
dfbfee07ab
Rename more things from fuse to fuse3
2016-11-28 21:33:14 -08:00
Nikolaus Rath
4fdf83f4dd
Document that FUSE_CAP_POSIX_ACL turns on -o default_permissions
2016-11-22 16:39:59 -08:00
Nikolaus Rath
cb2111cc8b
Distinguish between mount options and libfuse options
2016-11-17 15:51:22 -08:00
Nikolaus Rath
4172f7883a
Fixed manpage formatting.
2016-11-17 15:49:05 -08:00
Nikolaus Rath
16a24c0d8e
Removed reference to developer-notes.rst (was removed earlier)
2016-11-06 21:58:26 -08:00
Nikolaus Rath
d85279d0cb
Fixed section names in documentation index
2016-11-06 21:53:28 -08:00
Nikolaus Rath
7983414b33
Clean-up doxygen documentation
...
Fixes : #81 .
2016-10-28 20:44:39 -07:00
Mihail Konev
d8d894e780
man: Document suid requirement
2016-10-27 21:52:31 -07:00
Nikolaus Rath
e885e84f79
Add max_read to fuse_conn_info
...
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-27 21:38:42 -07:00
Nikolaus Rath
131955ff7c
Recommend when to use -o default_permissions automatically
2016-10-27 13:57:19 -07:00
Nikolaus Rath
11f07d1033
Describe all mount options in mount.fuse(8).
...
Also improved manpage in several ways.
2016-10-27 13:42:08 -07:00
Nikolaus Rath
ba653b1c24
Improve documentation of -o default_permissions
2016-10-27 12:46:16 -07:00
Nikolaus Rath
768f29fc2a
Improve man page title
2016-10-27 09:43:28 -07:00
Nikolaus Rath
7be8c8ff2d
Clarify which mount options are intended for file-system internal use.
2016-10-25 22:16:33 -07:00
Nikolaus Rath
8ee553dac0
fuse_new(): don't accept options that don't make sense for end-users
...
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-20 15:32:20 -07:00
Nikolaus Rath
cb8fa961dc
Document -o remember= mount option.
2016-10-20 15:22:05 -07:00
Nikolaus Rath
e869f7cc8e
mount.fuse(8): remove max_readahead, max_write, [a]sync_read
...
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-20 14:04:37 -07:00
Nikolaus Rath
26f0dba3c8
Mention that low-level fs need to set FUSE_CAP_EXPORT_SUPPORT
2016-10-16 15:34:20 -07:00
Nikolaus Rath
1c08ee91f6
Various documentation updates
...
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-16 15:12:29 -07:00
Nikolaus Rath
3c76d564e4
Updated man-pages.
...
* 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-16 14:12:39 -07:00
Nikolaus Rath
86b2614906
Fix documentation of -o max_write=
...
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 97f4a9cb4f
)
2016-10-15 18:51:00 -07:00
Nikolaus Rath
d6217bb2a0
Drop -o large_read mount option
...
This was only relevant for 2.4 kernels. Fixes #92 .
2016-10-15 18:49:52 -07:00
Nikolaus Rath
5698ee09cf
Turn struct fuse_chan into an implementation detail
...
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-02 13:56:40 -07:00