| # SPDX-License-Identifier: GPL-2.0-only | 
 |  | 
 | config EROFS_FS | 
 | 	tristate "EROFS filesystem support" | 
 | 	depends on BLOCK | 
 | 	select FS_IOMAP | 
 | 	select LIBCRC32C | 
 | 	help | 
 | 	  EROFS (Enhanced Read-Only File System) is a lightweight read-only | 
 | 	  file system with modern designs (e.g. no buffer heads, inline | 
 | 	  xattrs/data, chunk-based deduplication, multiple devices, etc.) for | 
 | 	  scenarios which need high-performance read-only solutions, e.g. | 
 | 	  smartphones with Android OS, LiveCDs and high-density hosts with | 
 | 	  numerous containers; | 
 |  | 
 | 	  It also provides fixed-sized output compression support in order to | 
 | 	  improve storage density as well as keep relatively higher compression | 
 | 	  ratios and implements in-place decompression to reuse the file page | 
 | 	  for compressed data temporarily with proper strategies, which is | 
 | 	  quite useful to ensure guaranteed end-to-end runtime decompression | 
 | 	  performance under extremely memory pressure without extra cost. | 
 |  | 
 | 	  See the documentation at <file:Documentation/filesystems/erofs.rst> | 
 | 	  and the web pages at <https://erofs.docs.kernel.org> for more details. | 
 |  | 
 | 	  If unsure, say N. | 
 |  | 
 | config EROFS_FS_DEBUG | 
 | 	bool "EROFS debugging feature" | 
 | 	depends on EROFS_FS | 
 | 	help | 
 | 	  Print debugging messages and enable more BUG_ONs which check | 
 | 	  filesystem consistency and find potential issues aggressively, | 
 | 	  which can be used for Android eng build, for example. | 
 |  | 
 | 	  For daily use, say N. | 
 |  | 
 | config EROFS_FS_XATTR | 
 | 	bool "EROFS extended attributes" | 
 | 	depends on EROFS_FS | 
 | 	select XXHASH | 
 | 	default y | 
 | 	help | 
 | 	  Extended attributes are name:value pairs associated with inodes by | 
 | 	  the kernel or by users (see the attr(5) manual page, or visit | 
 | 	  <http://acl.bestbits.at/> for details). | 
 |  | 
 | 	  If unsure, say N. | 
 |  | 
 | config EROFS_FS_POSIX_ACL | 
 | 	bool "EROFS Access Control Lists" | 
 | 	depends on EROFS_FS_XATTR | 
 | 	select FS_POSIX_ACL | 
 | 	default y | 
 | 	help | 
 | 	  Posix Access Control Lists (ACLs) support permissions for users and | 
 | 	  groups beyond the owner/group/world scheme. | 
 |  | 
 | 	  To learn more about Access Control Lists, visit the POSIX ACLs for | 
 | 	  Linux website <http://acl.bestbits.at/>. | 
 |  | 
 | 	  If you don't know what Access Control Lists are, say N. | 
 |  | 
 | config EROFS_FS_SECURITY | 
 | 	bool "EROFS Security Labels" | 
 | 	depends on EROFS_FS_XATTR | 
 | 	default y | 
 | 	help | 
 | 	  Security labels provide an access control facility to support Linux | 
 | 	  Security Models (LSMs) accepted by AppArmor, SELinux, Smack and TOMOYO | 
 | 	  Linux. This option enables an extended attribute handler for file | 
 | 	  security labels in the erofs filesystem, so that it requires enabling | 
 | 	  the extended attribute support in advance. | 
 |  | 
 | 	  If you are not using a security module, say N. | 
 |  | 
 | config EROFS_FS_ZIP | 
 | 	bool "EROFS Data Compression Support" | 
 | 	depends on EROFS_FS | 
 | 	select LZ4_DECOMPRESS | 
 | 	default y | 
 | 	help | 
 | 	  Enable fixed-sized output compression for EROFS. | 
 |  | 
 | 	  If you don't want to enable compression feature, say N. | 
 |  | 
 | config EROFS_FS_ZIP_LZMA | 
 | 	bool "EROFS LZMA compressed data support" | 
 | 	depends on EROFS_FS_ZIP | 
 | 	select XZ_DEC | 
 | 	select XZ_DEC_MICROLZMA | 
 | 	help | 
 | 	  Saying Y here includes support for reading EROFS file systems | 
 | 	  containing LZMA compressed data, specifically called microLZMA. It | 
 | 	  gives better compression ratios than the default LZ4 format, at the | 
 | 	  expense of more CPU overhead. | 
 |  | 
 | 	  If unsure, say N. | 
 |  | 
 | config EROFS_FS_ZIP_DEFLATE | 
 | 	bool "EROFS DEFLATE compressed data support" | 
 | 	depends on EROFS_FS_ZIP | 
 | 	select ZLIB_INFLATE | 
 | 	help | 
 | 	  Saying Y here includes support for reading EROFS file systems | 
 | 	  containing DEFLATE compressed data.  It gives better compression | 
 | 	  ratios than the default LZ4 format, while it costs more CPU | 
 | 	  overhead. | 
 |  | 
 | 	  DEFLATE support is an experimental feature for now and so most | 
 | 	  file systems will be readable without selecting this option. | 
 |  | 
 | 	  If unsure, say N. | 
 |  | 
 | config EROFS_FS_ZIP_ZSTD | 
 | 	bool "EROFS Zstandard compressed data support" | 
 | 	depends on EROFS_FS_ZIP | 
 | 	select ZSTD_DECOMPRESS | 
 | 	help | 
 | 	  Saying Y here includes support for reading EROFS file systems | 
 | 	  containing Zstandard compressed data.  It gives better compression | 
 | 	  ratios than the default LZ4 format, while it costs more CPU | 
 | 	  overhead. | 
 |  | 
 | 	  Zstandard support is an experimental feature for now and so most | 
 | 	  file systems will be readable without selecting this option. | 
 |  | 
 | 	  If unsure, say N. | 
 |  | 
 | config EROFS_FS_ONDEMAND | 
 | 	bool "EROFS fscache-based on-demand read support" | 
 | 	depends on EROFS_FS | 
 | 	select NETFS_SUPPORT | 
 | 	select FSCACHE | 
 | 	select CACHEFILES | 
 | 	select CACHEFILES_ONDEMAND | 
 | 	help | 
 | 	  This permits EROFS to use fscache-backed data blobs with on-demand | 
 | 	  read support. | 
 |  | 
 | 	  If unsure, say N. | 
 |  | 
 | config EROFS_FS_PCPU_KTHREAD | 
 | 	bool "EROFS per-cpu decompression kthread workers" | 
 | 	depends on EROFS_FS_ZIP | 
 | 	help | 
 | 	  Saying Y here enables per-CPU kthread workers pool to carry out | 
 | 	  async decompression for low latencies on some architectures. | 
 |  | 
 | 	  If unsure, say N. | 
 |  | 
 | config EROFS_FS_PCPU_KTHREAD_HIPRI | 
 | 	bool "EROFS high priority per-CPU kthread workers" | 
 | 	depends on EROFS_FS_ZIP && EROFS_FS_PCPU_KTHREAD | 
 | 	default y | 
 | 	help | 
 | 	  This permits EROFS to configure per-CPU kthread workers to run | 
 | 	  at higher priority. | 
 |  | 
 | 	  If unsure, say N. |