xref: /linux/fs/fuse/Kconfig (revision b5d760d53ac2e36825fbbb8d1f54ad9ce6138f7b)
1# SPDX-License-Identifier: GPL-2.0-only
2config FUSE_FS
3	tristate "FUSE (Filesystem in Userspace) support"
4	select FS_POSIX_ACL
5	select FS_IOMAP
6	help
7	  With FUSE it is possible to implement a fully functional filesystem
8	  in a userspace program.
9
10	  There's also a companion library: libfuse2.  This library is available
11	  from the FUSE homepage:
12	  <https://github.com/libfuse/>
13	  although chances are your distribution already has that library
14	  installed if you've installed the "fuse" package itself.
15
16	  See <file:Documentation/filesystems/fuse.rst> for more information.
17	  See <file:Documentation/Changes> for needed library/utility version.
18
19	  If you want to develop a userspace FS, or if you want to use
20	  a filesystem based on FUSE, answer Y or M.
21
22config CUSE
23	tristate "Character device in Userspace support"
24	depends on FUSE_FS
25	help
26	  This FUSE extension allows character devices to be
27	  implemented in userspace.
28
29	  If you want to develop or use a userspace character device
30	  based on CUSE, answer Y or M.
31
32config VIRTIO_FS
33	tristate "Virtio Filesystem"
34	depends on FUSE_FS
35	select VIRTIO
36	help
37	  The Virtio Filesystem allows guests to mount file systems from the
38	  host.
39
40	  If you want to share files between guests or with the host, answer Y
41	  or M.
42
43config FUSE_DAX
44	bool "Virtio Filesystem Direct Host Memory Access support"
45	default y
46	select INTERVAL_TREE
47	depends on VIRTIO_FS
48	depends on FS_DAX
49	depends on DAX
50	help
51	  This allows bypassing guest page cache and allows mapping host page
52	  cache directly in guest address space.
53
54	  If you want to allow mounting a Virtio Filesystem with the "dax"
55	  option, answer Y.
56
57config FUSE_PASSTHROUGH
58	bool "FUSE passthrough operations support"
59	default y
60	depends on FUSE_FS
61	select FS_STACK
62	help
63	  This allows bypassing FUSE server by mapping specific FUSE operations
64	  to be performed directly on a backing file.
65
66	  If you want to allow passthrough operations, answer Y.
67
68config FUSE_IO_URING
69	bool "FUSE communication over io-uring"
70	default y
71	depends on FUSE_FS
72	depends on IO_URING
73	help
74	  This allows sending FUSE requests over the io-uring interface and
75          also adds request core affinity.
76
77	  If you want to allow fuse server/client communication through io-uring,
78	  answer Y
79