1 # SPDX-License-Identifier: GPL-2.0
4 tristate "EROFS filesystem support"
7 EROFS(Enhanced Read-Only File System) is a lightweight
8 read-only file system with modern designs (eg. page-sized
9 blocks, inline xattrs/data, etc.) for scenarios which need
10 high-performance read-only requirements, eg. firmwares in
11 mobile phone or LIVECDs.
13 It also provides VLE compression support, focusing on
14 random read improvements, keeping relatively lower
15 compression ratios, which is useful for high-performance
16 devices with limited memory and ROM space.
21 bool "EROFS debugging feature"
24 Print EROFS debugging messages and enable more BUG_ONs
25 which check the filesystem consistency aggressively.
30 bool "EROFS extended attributes"
34 Extended attributes are name:value pairs associated with inodes by
35 the kernel or by users (see the attr(5) manual page, or visit
36 <http://acl.bestbits.at/> for details).
40 config EROFS_FS_POSIX_ACL
41 bool "EROFS Access Control Lists"
42 depends on EROFS_FS_XATTR
46 Posix Access Control Lists (ACLs) support permissions for users and
47 groups beyond the owner/group/world scheme.
49 To learn more about Access Control Lists, visit the POSIX ACLs for
50 Linux website <http://acl.bestbits.at/>.
52 If you don't know what Access Control Lists are, say N.
54 config EROFS_FS_SECURITY
55 bool "EROFS Security Labels"
56 depends on EROFS_FS_XATTR
58 Security labels provide an access control facility to support Linux
59 Security Models (LSMs) accepted by AppArmor, SELinux, Smack and TOMOYO
60 Linux. This option enables an extended attribute handler for file
61 security labels in the erofs filesystem, so that it requires enabling
62 the extended attribute support in advance.
64 If you are not using a security module, say N.
66 config EROFS_FS_USE_VM_MAP_RAM
67 bool "EROFS VM_MAP_RAM Support"
70 use vm_map_ram/vm_unmap_ram instead of vmap/vunmap.
72 If you don't know what these are, say N.
74 config EROFS_FAULT_INJECTION
75 bool "EROFS fault injection facility"
78 Test EROFS to inject faults such as ENOMEM, EIO, and so on.
81 config EROFS_FS_IO_MAX_RETRIES
82 int "EROFS IO Maximum Retries"
86 Maximum retry count of IO Errors.
88 If unsure, leave the default value (5 retries, 6 IOs at most).
91 bool "EROFS Data Compresssion Support"
95 Currently we support LZ4 VLE Compression only.
96 Play at your own risk.
98 If you don't want to use compression feature, say N.
100 config EROFS_FS_CLUSTER_PAGE_LIMIT
101 int "EROFS Cluster Pages Hard Limit"
102 depends on EROFS_FS_ZIP
106 Indicates VLE compressed pages hard limit of a
109 For example, if files of a image are compressed
110 into 8k-unit, the hard limit should not be less
111 than 2. Otherwise, the image cannot be mounted
112 correctly on this kernel.
115 prompt "EROFS VLE Data Decompression mode"
116 depends on EROFS_FS_ZIP
117 default EROFS_FS_ZIP_CACHE_BIPOLAR
119 EROFS supports three options for VLE decompression.
120 "In-place Decompression Only" consumes the minimum memory
121 with lowest random read.
123 "Bipolar Cached Decompression" consumes the maximum memory
124 with highest random read.
126 If unsure, select "Bipolar Cached Decompression"
128 config EROFS_FS_ZIP_NO_CACHE
129 bool "In-place Decompression Only"
131 Read compressed data into page cache and do in-place
132 decompression directly.
134 config EROFS_FS_ZIP_CACHE_UNIPOLAR
135 bool "Unipolar Cached Decompression"
137 For each request, it caches the last compressed page
139 It still decompresses in place for the rest compressed pages.
141 config EROFS_FS_ZIP_CACHE_BIPOLAR
142 bool "Bipolar Cached Decompression"
144 For each request, it caches the both end compressed pages
146 It still decompresses in place for the rest compressed pages.
148 Recommended for performance priority.