xref: /openbmc/linux/fs/erofs/Kconfig (revision c6be2bd0)
147e4937aSGao Xiang# SPDX-License-Identifier: GPL-2.0-only
247e4937aSGao Xiang
347e4937aSGao Xiangconfig EROFS_FS
447e4937aSGao Xiang	tristate "EROFS filesystem support"
547e4937aSGao Xiang	depends on BLOCK
6a08e67a0SHuang Jianan	select FS_IOMAP
7b858a484SPratik Shinde	select LIBCRC32C
847e4937aSGao Xiang	help
9dfeab2e9SGao Xiang	  EROFS (Enhanced Read-Only File System) is a lightweight read-only
10dfeab2e9SGao Xiang	  file system with modern designs (e.g. no buffer heads, inline
11dfeab2e9SGao Xiang	  xattrs/data, chunk-based deduplication, multiple devices, etc.) for
12dfeab2e9SGao Xiang	  scenarios which need high-performance read-only solutions, e.g.
13dfeab2e9SGao Xiang	  smartphones with Android OS, LiveCDs and high-density hosts with
14dfeab2e9SGao Xiang	  numerous containers;
1547e4937aSGao Xiang
16dfeab2e9SGao Xiang	  It also provides fixed-sized output compression support in order to
17dfeab2e9SGao Xiang	  improve storage density as well as keep relatively higher compression
18dfeab2e9SGao Xiang	  ratios and implements in-place decompression to reuse the file page
19dfeab2e9SGao Xiang	  for compressed data temporarily with proper strategies, which is
20dfeab2e9SGao Xiang	  quite useful to ensure guaranteed end-to-end runtime decompression
21dfeab2e9SGao Xiang	  performance under extremely memory pressure without extra cost.
22dfeab2e9SGao Xiang
23dfeab2e9SGao Xiang	  See the documentation at <file:Documentation/filesystems/erofs.rst>
24dfeab2e9SGao Xiang	  for more details.
2547e4937aSGao Xiang
2647e4937aSGao Xiang	  If unsure, say N.
2747e4937aSGao Xiang
2847e4937aSGao Xiangconfig EROFS_FS_DEBUG
2947e4937aSGao Xiang	bool "EROFS debugging feature"
3047e4937aSGao Xiang	depends on EROFS_FS
3147e4937aSGao Xiang	help
3247e4937aSGao Xiang	  Print debugging messages and enable more BUG_ONs which check
3347e4937aSGao Xiang	  filesystem consistency and find potential issues aggressively,
3447e4937aSGao Xiang	  which can be used for Android eng build, for example.
3547e4937aSGao Xiang
3647e4937aSGao Xiang	  For daily use, say N.
3747e4937aSGao Xiang
3847e4937aSGao Xiangconfig EROFS_FS_XATTR
3947e4937aSGao Xiang	bool "EROFS extended attributes"
4047e4937aSGao Xiang	depends on EROFS_FS
4147e4937aSGao Xiang	default y
4247e4937aSGao Xiang	help
4347e4937aSGao Xiang	  Extended attributes are name:value pairs associated with inodes by
4447e4937aSGao Xiang	  the kernel or by users (see the attr(5) manual page, or visit
4547e4937aSGao Xiang	  <http://acl.bestbits.at/> for details).
4647e4937aSGao Xiang
4747e4937aSGao Xiang	  If unsure, say N.
4847e4937aSGao Xiang
4947e4937aSGao Xiangconfig EROFS_FS_POSIX_ACL
5047e4937aSGao Xiang	bool "EROFS Access Control Lists"
5147e4937aSGao Xiang	depends on EROFS_FS_XATTR
5247e4937aSGao Xiang	select FS_POSIX_ACL
5347e4937aSGao Xiang	default y
5447e4937aSGao Xiang	help
5547e4937aSGao Xiang	  Posix Access Control Lists (ACLs) support permissions for users and
5647e4937aSGao Xiang	  groups beyond the owner/group/world scheme.
5747e4937aSGao Xiang
5847e4937aSGao Xiang	  To learn more about Access Control Lists, visit the POSIX ACLs for
5947e4937aSGao Xiang	  Linux website <http://acl.bestbits.at/>.
6047e4937aSGao Xiang
6147e4937aSGao Xiang	  If you don't know what Access Control Lists are, say N.
6247e4937aSGao Xiang
6347e4937aSGao Xiangconfig EROFS_FS_SECURITY
6447e4937aSGao Xiang	bool "EROFS Security Labels"
6547e4937aSGao Xiang	depends on EROFS_FS_XATTR
6647e4937aSGao Xiang	default y
6747e4937aSGao Xiang	help
6847e4937aSGao Xiang	  Security labels provide an access control facility to support Linux
6947e4937aSGao Xiang	  Security Models (LSMs) accepted by AppArmor, SELinux, Smack and TOMOYO
7047e4937aSGao Xiang	  Linux. This option enables an extended attribute handler for file
7147e4937aSGao Xiang	  security labels in the erofs filesystem, so that it requires enabling
7247e4937aSGao Xiang	  the extended attribute support in advance.
7347e4937aSGao Xiang
7447e4937aSGao Xiang	  If you are not using a security module, say N.
7547e4937aSGao Xiang
7647e4937aSGao Xiangconfig EROFS_FS_ZIP
7747e4937aSGao Xiang	bool "EROFS Data Compression Support"
7847e4937aSGao Xiang	depends on EROFS_FS
7947e4937aSGao Xiang	select LZ4_DECOMPRESS
8047e4937aSGao Xiang	default y
8147e4937aSGao Xiang	help
8247e4937aSGao Xiang	  Enable fixed-sized output compression for EROFS.
8347e4937aSGao Xiang
8447e4937aSGao Xiang	  If you don't want to enable compression feature, say N.
85622ceaddSGao Xiang
86622ceaddSGao Xiangconfig EROFS_FS_ZIP_LZMA
87622ceaddSGao Xiang	bool "EROFS LZMA compressed data support"
88622ceaddSGao Xiang	depends on EROFS_FS_ZIP
89622ceaddSGao Xiang	select XZ_DEC
90622ceaddSGao Xiang	select XZ_DEC_MICROLZMA
91622ceaddSGao Xiang	help
92622ceaddSGao Xiang	  Saying Y here includes support for reading EROFS file systems
93622ceaddSGao Xiang	  containing LZMA compressed data, specifically called microLZMA. it
94622ceaddSGao Xiang	  gives better compression ratios than the LZ4 algorithm, at the
95622ceaddSGao Xiang	  expense of more CPU overhead.
96622ceaddSGao Xiang
97622ceaddSGao Xiang	  LZMA support is an experimental feature for now and so most file
98622ceaddSGao Xiang	  systems will be readable without selecting this option.
99622ceaddSGao Xiang
100622ceaddSGao Xiang	  If unsure, say N.
101*c6be2bd0SJeffle Xu
102*c6be2bd0SJeffle Xuconfig EROFS_FS_ONDEMAND
103*c6be2bd0SJeffle Xu	bool "EROFS fscache-based on-demand read support"
104*c6be2bd0SJeffle Xu	depends on CACHEFILES_ONDEMAND && (EROFS_FS=m && FSCACHE || EROFS_FS=y && FSCACHE=y)
105*c6be2bd0SJeffle Xu	default n
106*c6be2bd0SJeffle Xu	help
107*c6be2bd0SJeffle Xu	  This permits EROFS to use fscache-backed data blobs with on-demand
108*c6be2bd0SJeffle Xu	  read support.
109*c6be2bd0SJeffle Xu
110*c6be2bd0SJeffle Xu	  If unsure, say N.
111