0001 # SPDX-License-Identifier: GPL-2.0-only
0002
0003 config EROFS_FS
0004 tristate "EROFS filesystem support"
0005 depends on BLOCK
0006 select FS_IOMAP
0007 select LIBCRC32C
0008 help
0009 EROFS (Enhanced Read-Only File System) is a lightweight read-only
0010 file system with modern designs (e.g. no buffer heads, inline
0011 xattrs/data, chunk-based deduplication, multiple devices, etc.) for
0012 scenarios which need high-performance read-only solutions, e.g.
0013 smartphones with Android OS, LiveCDs and high-density hosts with
0014 numerous containers;
0015
0016 It also provides fixed-sized output compression support in order to
0017 improve storage density as well as keep relatively higher compression
0018 ratios and implements in-place decompression to reuse the file page
0019 for compressed data temporarily with proper strategies, which is
0020 quite useful to ensure guaranteed end-to-end runtime decompression
0021 performance under extremely memory pressure without extra cost.
0022
0023 See the documentation at <file:Documentation/filesystems/erofs.rst>
0024 for more details.
0025
0026 If unsure, say N.
0027
0028 config EROFS_FS_DEBUG
0029 bool "EROFS debugging feature"
0030 depends on EROFS_FS
0031 help
0032 Print debugging messages and enable more BUG_ONs which check
0033 filesystem consistency and find potential issues aggressively,
0034 which can be used for Android eng build, for example.
0035
0036 For daily use, say N.
0037
0038 config EROFS_FS_XATTR
0039 bool "EROFS extended attributes"
0040 depends on EROFS_FS
0041 default y
0042 help
0043 Extended attributes are name:value pairs associated with inodes by
0044 the kernel or by users (see the attr(5) manual page, or visit
0045 <http://acl.bestbits.at/> for details).
0046
0047 If unsure, say N.
0048
0049 config EROFS_FS_POSIX_ACL
0050 bool "EROFS Access Control Lists"
0051 depends on EROFS_FS_XATTR
0052 select FS_POSIX_ACL
0053 default y
0054 help
0055 Posix Access Control Lists (ACLs) support permissions for users and
0056 groups beyond the owner/group/world scheme.
0057
0058 To learn more about Access Control Lists, visit the POSIX ACLs for
0059 Linux website <http://acl.bestbits.at/>.
0060
0061 If you don't know what Access Control Lists are, say N.
0062
0063 config EROFS_FS_SECURITY
0064 bool "EROFS Security Labels"
0065 depends on EROFS_FS_XATTR
0066 default y
0067 help
0068 Security labels provide an access control facility to support Linux
0069 Security Models (LSMs) accepted by AppArmor, SELinux, Smack and TOMOYO
0070 Linux. This option enables an extended attribute handler for file
0071 security labels in the erofs filesystem, so that it requires enabling
0072 the extended attribute support in advance.
0073
0074 If you are not using a security module, say N.
0075
0076 config EROFS_FS_ZIP
0077 bool "EROFS Data Compression Support"
0078 depends on EROFS_FS
0079 select LZ4_DECOMPRESS
0080 default y
0081 help
0082 Enable fixed-sized output compression for EROFS.
0083
0084 If you don't want to enable compression feature, say N.
0085
0086 config EROFS_FS_ZIP_LZMA
0087 bool "EROFS LZMA compressed data support"
0088 depends on EROFS_FS_ZIP
0089 select XZ_DEC
0090 select XZ_DEC_MICROLZMA
0091 help
0092 Saying Y here includes support for reading EROFS file systems
0093 containing LZMA compressed data, specifically called microLZMA. it
0094 gives better compression ratios than the LZ4 algorithm, at the
0095 expense of more CPU overhead.
0096
0097 LZMA support is an experimental feature for now and so most file
0098 systems will be readable without selecting this option.
0099
0100 If unsure, say N.
0101
0102 config EROFS_FS_ONDEMAND
0103 bool "EROFS fscache-based on-demand read support"
0104 depends on CACHEFILES_ONDEMAND && (EROFS_FS=m && FSCACHE || EROFS_FS=y && FSCACHE=y)
0105 default n
0106 help
0107 This permits EROFS to use fscache-backed data blobs with on-demand
0108 read support.
0109
0110 If unsure, say N.