Commit | Line | Data |
---|---|---|
fd68c6a2 GX |
1 | # SPDX-License-Identifier: GPL-2.0 |
2 | ||
3 | config EROFS_FS | |
4 | tristate "EROFS filesystem support" | |
f86cf25a | 5 | depends on BLOCK |
fd68c6a2 GX |
6 | help |
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. | |
12 | ||
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. | |
17 | ||
18 | If unsure, say N. | |
19 | ||
20 | config EROFS_FS_DEBUG | |
21 | bool "EROFS debugging feature" | |
22 | depends on EROFS_FS | |
23 | help | |
24 | Print EROFS debugging messages and enable more BUG_ONs | |
25 | which check the filesystem consistency aggressively. | |
26 | ||
27 | For daily use, say N. | |
28 | ||
b17500a0 GX |
29 | config EROFS_FS_XATTR |
30 | bool "EROFS extended attributes" | |
31 | depends on EROFS_FS | |
32 | default y | |
33 | help | |
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). | |
37 | ||
38 | If unsure, say N. | |
39 | ||
40 | config EROFS_FS_POSIX_ACL | |
41 | bool "EROFS Access Control Lists" | |
42 | depends on EROFS_FS_XATTR | |
43 | select FS_POSIX_ACL | |
44 | default y | |
45 | help | |
46 | Posix Access Control Lists (ACLs) support permissions for users and | |
47 | groups beyond the owner/group/world scheme. | |
48 | ||
49 | To learn more about Access Control Lists, visit the POSIX ACLs for | |
50 | Linux website <http://acl.bestbits.at/>. | |
51 | ||
52 | If you don't know what Access Control Lists are, say N. | |
53 | ||
54 | config EROFS_FS_SECURITY | |
55 | bool "EROFS Security Labels" | |
56 | depends on EROFS_FS_XATTR | |
57 | help | |
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. | |
63 | ||
64 | If you are not using a security module, say N. | |
65 | ||
fd68c6a2 GX |
66 | config EROFS_FS_USE_VM_MAP_RAM |
67 | bool "EROFS VM_MAP_RAM Support" | |
68 | depends on EROFS_FS | |
69 | help | |
70 | use vm_map_ram/vm_unmap_ram instead of vmap/vunmap. | |
71 | ||
72 | If you don't know what these are, say N. | |
73 | ||
9c07b3b3 CY |
74 | config EROFS_FAULT_INJECTION |
75 | bool "EROFS fault injection facility" | |
76 | depends on EROFS_FS | |
77 | help | |
78 | Test EROFS to inject faults such as ENOMEM, EIO, and so on. | |
79 | If unsure, say N. | |
02827e17 GX |
80 | |
81 | config EROFS_FS_ZIP | |
82 | bool "EROFS Data Compresssion Support" | |
83 | depends on EROFS_FS | |
84 | help | |
85 | Currently we support VLE Compression only. | |
86 | Play at your own risk. | |
87 | ||
88 | If you don't want to use compression feature, say N. | |
89 | ||
0d40d6e3 GX |
90 | config EROFS_FS_CLUSTER_PAGE_LIMIT |
91 | int "EROFS Cluster Pages Hard Limit" | |
92 | depends on EROFS_FS_ZIP | |
93 | range 1 256 | |
94 | default "1" | |
95 | help | |
96 | Indicates VLE compressed pages hard limit of a | |
97 | compressed cluster. | |
98 | ||
99 | For example, if files of a image are compressed | |
100 | into 8k-unit, the hard limit should not be less | |
101 | than 2. Otherwise, the image cannot be mounted | |
102 | correctly on this kernel. | |
103 | ||
105d4ad8 GX |
104 | choice |
105 | prompt "EROFS VLE Data Decompression mode" | |
106 | depends on EROFS_FS_ZIP | |
107 | default EROFS_FS_ZIP_CACHE_BIPOLAR | |
108 | help | |
109 | EROFS supports three options for VLE decompression. | |
110 | "In-place Decompression Only" consumes the minimum memory | |
111 | with lowest random read. | |
112 | ||
113 | "Bipolar Cached Decompression" consumes the maximum memory | |
114 | with highest random read. | |
115 | ||
116 | If unsure, select "Bipolar Cached Decompression" | |
117 | ||
118 | config EROFS_FS_ZIP_NO_CACHE | |
119 | bool "In-place Decompression Only" | |
120 | help | |
121 | Read compressed data into page cache and do in-place | |
122 | decompression directly. | |
123 | ||
124 | config EROFS_FS_ZIP_CACHE_UNIPOLAR | |
125 | bool "Unipolar Cached Decompression" | |
126 | help | |
127 | For each request, it caches the last compressed page | |
128 | for further reading. | |
129 | It still decompresses in place for the rest compressed pages. | |
130 | ||
131 | config EROFS_FS_ZIP_CACHE_BIPOLAR | |
132 | bool "Bipolar Cached Decompression" | |
133 | help | |
134 | For each request, it caches the both end compressed pages | |
135 | for further reading. | |
136 | It still decompresses in place for the rest compressed pages. | |
137 | ||
138 | Recommended for performance priority. | |
139 | ||
140 | endchoice | |
141 |