xref: /linux/fs/fuse/Kconfig (revision 6238729bfce13f94b701766996a5d116d2df8bff)
1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only
23ef7784eSAlexey Dobriyanconfig FUSE_FS
33ef7784eSAlexey Dobriyan	tristate "FUSE (Filesystem in Userspace) support"
460bcc88aSSeth Forshee	select FS_POSIX_ACL
5a4c9ab1dSJoanne Koong	select FS_IOMAP
63ef7784eSAlexey Dobriyan	help
73ef7784eSAlexey Dobriyan	  With FUSE it is possible to implement a fully functional filesystem
83ef7784eSAlexey Dobriyan	  in a userspace program.
93ef7784eSAlexey Dobriyan
10807185ebSRobert P. J. Day	  There's also a companion library: libfuse2.  This library is available
11807185ebSRobert P. J. Day	  from the FUSE homepage:
12c1b0c627SAndré Almeida	  <https://github.com/libfuse/>
13807185ebSRobert P. J. Day	  although chances are your distribution already has that library
14807185ebSRobert P. J. Day	  installed if you've installed the "fuse" package itself.
153ef7784eSAlexey Dobriyan
16*b3c7ab1dSMiklos Szeredi	  See <file:Documentation/filesystems/fuse/fuse.rst> for more information.
173ef7784eSAlexey Dobriyan	  See <file:Documentation/Changes> for needed library/utility version.
183ef7784eSAlexey Dobriyan
193ef7784eSAlexey Dobriyan	  If you want to develop a userspace FS, or if you want to use
203ef7784eSAlexey Dobriyan	  a filesystem based on FUSE, answer Y or M.
21807185ebSRobert P. J. Day
22807185ebSRobert P. J. Dayconfig CUSE
23807185ebSRobert P. J. Day	tristate "Character device in Userspace support"
24807185ebSRobert P. J. Day	depends on FUSE_FS
25807185ebSRobert P. J. Day	help
26807185ebSRobert P. J. Day	  This FUSE extension allows character devices to be
27807185ebSRobert P. J. Day	  implemented in userspace.
28807185ebSRobert P. J. Day
29807185ebSRobert P. J. Day	  If you want to develop or use a userspace character device
30807185ebSRobert P. J. Day	  based on CUSE, answer Y or M.
31a62a8ef9SStefan Hajnoczi
32a62a8ef9SStefan Hajnocziconfig VIRTIO_FS
33a62a8ef9SStefan Hajnoczi	tristate "Virtio Filesystem"
34a62a8ef9SStefan Hajnoczi	depends on FUSE_FS
35a62a8ef9SStefan Hajnoczi	select VIRTIO
36a62a8ef9SStefan Hajnoczi	help
37a62a8ef9SStefan Hajnoczi	  The Virtio Filesystem allows guests to mount file systems from the
38a62a8ef9SStefan Hajnoczi	  host.
39a62a8ef9SStefan Hajnoczi
40a62a8ef9SStefan Hajnoczi	  If you want to share files between guests or with the host, answer Y
41a62a8ef9SStefan Hajnoczi	  or M.
421dd53957SVivek Goyal
431dd53957SVivek Goyalconfig FUSE_DAX
441dd53957SVivek Goyal	bool "Virtio Filesystem Direct Host Memory Access support"
451dd53957SVivek Goyal	default y
46c2d0ad00SVivek Goyal	select INTERVAL_TREE
471dd53957SVivek Goyal	depends on VIRTIO_FS
481dd53957SVivek Goyal	depends on FS_DAX
49afd586f0SChristoph Hellwig	depends on DAX
501dd53957SVivek Goyal	help
511dd53957SVivek Goyal	  This allows bypassing guest page cache and allows mapping host page
521dd53957SVivek Goyal	  cache directly in guest address space.
531dd53957SVivek Goyal
541dd53957SVivek Goyal	  If you want to allow mounting a Virtio Filesystem with the "dax"
551dd53957SVivek Goyal	  option, answer Y.
567dc4e97aSAmir Goldstein
577dc4e97aSAmir Goldsteinconfig FUSE_PASSTHROUGH
587dc4e97aSAmir Goldstein	bool "FUSE passthrough operations support"
597dc4e97aSAmir Goldstein	default y
607dc4e97aSAmir Goldstein	depends on FUSE_FS
617dc4e97aSAmir Goldstein	select FS_STACK
627dc4e97aSAmir Goldstein	help
637dc4e97aSAmir Goldstein	  This allows bypassing FUSE server by mapping specific FUSE operations
647dc4e97aSAmir Goldstein	  to be performed directly on a backing file.
657dc4e97aSAmir Goldstein
667dc4e97aSAmir Goldstein	  If you want to allow passthrough operations, answer Y.
6724fe962cSBernd Schubert
6824fe962cSBernd Schubertconfig FUSE_IO_URING
6924fe962cSBernd Schubert	bool "FUSE communication over io-uring"
7024fe962cSBernd Schubert	default y
7124fe962cSBernd Schubert	depends on FUSE_FS
7224fe962cSBernd Schubert	depends on IO_URING
7324fe962cSBernd Schubert	help
7424fe962cSBernd Schubert	  This allows sending FUSE requests over the io-uring interface and
7524fe962cSBernd Schubert          also adds request core affinity.
7624fe962cSBernd Schubert
7724fe962cSBernd Schubert	  If you want to allow fuse server/client communication through io-uring,
7824fe962cSBernd Schubert	  answer Y
79