blob: f57255ab88ed4a0858ed10c96aea532a887c248c [file] [log] [blame]
Gao Xiang29b24f62019-07-31 23:57:31 +08001# SPDX-License-Identifier: GPL-2.0-only
Gao Xiangfd68c6a22018-07-26 20:21:51 +08002
3config EROFS_FS
4 tristate "EROFS filesystem support"
Gao Xiangaca19722018-08-28 11:39:48 +08005 depends on BLOCK
Huang Jianana08e67a2021-08-05 08:35:59 +08006 select FS_IOMAP
Pratik Shindeb858a482019-11-04 10:49:37 +08007 select LIBCRC32C
Gao Xiangfd68c6a22018-07-26 20:21:51 +08008 help
Gao Xiangdfeab2e2021-10-14 16:10:10 +08009 EROFS (Enhanced Read-Only File System) is a lightweight read-only
10 file system with modern designs (e.g. no buffer heads, inline
11 xattrs/data, chunk-based deduplication, multiple devices, etc.) for
12 scenarios which need high-performance read-only solutions, e.g.
13 smartphones with Android OS, LiveCDs and high-density hosts with
14 numerous containers;
Gao Xiangfd68c6a22018-07-26 20:21:51 +080015
Gao Xiangdfeab2e2021-10-14 16:10:10 +080016 It also provides fixed-sized output compression support in order to
17 improve storage density as well as keep relatively higher compression
18 ratios and implements in-place decompression to reuse the file page
19 for compressed data temporarily with proper strategies, which is
20 quite useful to ensure guaranteed end-to-end runtime decompression
21 performance under extremely memory pressure without extra cost.
22
23 See the documentation at <file:Documentation/filesystems/erofs.rst>
24 for more details.
Gao Xiangfd68c6a22018-07-26 20:21:51 +080025
26 If unsure, say N.
27
28config EROFS_FS_DEBUG
29 bool "EROFS debugging feature"
30 depends on EROFS_FS
31 help
Gao Xiang0b800f32019-07-31 23:57:52 +080032 Print debugging messages and enable more BUG_ONs which check
33 filesystem consistency and find potential issues aggressively,
34 which can be used for Android eng build, for example.
Gao Xiangfd68c6a22018-07-26 20:21:51 +080035
36 For daily use, say N.
37
Gao Xiangb17500a2018-07-26 20:21:52 +080038config EROFS_FS_XATTR
39 bool "EROFS extended attributes"
40 depends on EROFS_FS
41 default y
42 help
43 Extended attributes are name:value pairs associated with inodes by
44 the kernel or by users (see the attr(5) manual page, or visit
45 <http://acl.bestbits.at/> for details).
46
47 If unsure, say N.
48
49config EROFS_FS_POSIX_ACL
50 bool "EROFS Access Control Lists"
51 depends on EROFS_FS_XATTR
52 select FS_POSIX_ACL
53 default y
54 help
55 Posix Access Control Lists (ACLs) support permissions for users and
56 groups beyond the owner/group/world scheme.
57
58 To learn more about Access Control Lists, visit the POSIX ACLs for
59 Linux website <http://acl.bestbits.at/>.
60
61 If you don't know what Access Control Lists are, say N.
62
63config EROFS_FS_SECURITY
64 bool "EROFS Security Labels"
65 depends on EROFS_FS_XATTR
Gao Xiang0b800f32019-07-31 23:57:52 +080066 default y
Gao Xiangb17500a2018-07-26 20:21:52 +080067 help
68 Security labels provide an access control facility to support Linux
69 Security Models (LSMs) accepted by AppArmor, SELinux, Smack and TOMOYO
70 Linux. This option enables an extended attribute handler for file
71 security labels in the erofs filesystem, so that it requires enabling
72 the extended attribute support in advance.
73
74 If you are not using a security module, say N.
75
Gao Xiang02827e12018-07-26 20:21:58 +080076config EROFS_FS_ZIP
Gao Xiang0b800f32019-07-31 23:57:52 +080077 bool "EROFS Data Compression Support"
Gao Xiang02827e12018-07-26 20:21:58 +080078 depends on EROFS_FS
Gao Xiang7962e632018-11-10 00:07:50 +080079 select LZ4_DECOMPRESS
Gao Xiang0b800f32019-07-31 23:57:52 +080080 default y
Gao Xiang02827e12018-07-26 20:21:58 +080081 help
Gao Xiang0b800f32019-07-31 23:57:52 +080082 Enable fixed-sized output compression for EROFS.
Gao Xiang02827e12018-07-26 20:21:58 +080083
Gao Xiang0b800f32019-07-31 23:57:52 +080084 If you don't want to enable compression feature, say N.
Gao Xiang622cead2021-10-11 05:31:45 +080085
86config EROFS_FS_ZIP_LZMA
87 bool "EROFS LZMA compressed data support"
88 depends on EROFS_FS_ZIP
89 select XZ_DEC
90 select XZ_DEC_MICROLZMA
91 help
92 Saying Y here includes support for reading EROFS file systems
93 containing LZMA compressed data, specifically called microLZMA. it
94 gives better compression ratios than the LZ4 algorithm, at the
95 expense of more CPU overhead.
96
97 LZMA support is an experimental feature for now and so most file
98 systems will be readable without selecting this option.
99
100 If unsure, say N.