Gao Xiang | 29b24f6 | 2019-07-31 23:57:31 +0800 | [diff] [blame] | 1 | # SPDX-License-Identifier: GPL-2.0-only |
Gao Xiang | fd68c6a2 | 2018-07-26 20:21:51 +0800 | [diff] [blame] | 2 | |
| 3 | config EROFS_FS |
| 4 | tristate "EROFS filesystem support" |
Gao Xiang | aca1972 | 2018-08-28 11:39:48 +0800 | [diff] [blame] | 5 | depends on BLOCK |
Huang Jianan | a08e67a | 2021-08-05 08:35:59 +0800 | [diff] [blame] | 6 | select FS_IOMAP |
Pratik Shinde | b858a48 | 2019-11-04 10:49:37 +0800 | [diff] [blame] | 7 | select LIBCRC32C |
Gao Xiang | fd68c6a2 | 2018-07-26 20:21:51 +0800 | [diff] [blame] | 8 | help |
Gao Xiang | dfeab2e | 2021-10-14 16:10:10 +0800 | [diff] [blame] | 9 | 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 Xiang | fd68c6a2 | 2018-07-26 20:21:51 +0800 | [diff] [blame] | 15 | |
Gao Xiang | dfeab2e | 2021-10-14 16:10:10 +0800 | [diff] [blame] | 16 | 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 Xiang | fd68c6a2 | 2018-07-26 20:21:51 +0800 | [diff] [blame] | 25 | |
| 26 | If unsure, say N. |
| 27 | |
| 28 | config EROFS_FS_DEBUG |
| 29 | bool "EROFS debugging feature" |
| 30 | depends on EROFS_FS |
| 31 | help |
Gao Xiang | 0b800f3 | 2019-07-31 23:57:52 +0800 | [diff] [blame] | 32 | 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 Xiang | fd68c6a2 | 2018-07-26 20:21:51 +0800 | [diff] [blame] | 35 | |
| 36 | For daily use, say N. |
| 37 | |
Gao Xiang | b17500a | 2018-07-26 20:21:52 +0800 | [diff] [blame] | 38 | config 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 | |
| 49 | config 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 | |
| 63 | config EROFS_FS_SECURITY |
| 64 | bool "EROFS Security Labels" |
| 65 | depends on EROFS_FS_XATTR |
Gao Xiang | 0b800f3 | 2019-07-31 23:57:52 +0800 | [diff] [blame] | 66 | default y |
Gao Xiang | b17500a | 2018-07-26 20:21:52 +0800 | [diff] [blame] | 67 | 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 Xiang | 02827e1 | 2018-07-26 20:21:58 +0800 | [diff] [blame] | 76 | config EROFS_FS_ZIP |
Gao Xiang | 0b800f3 | 2019-07-31 23:57:52 +0800 | [diff] [blame] | 77 | bool "EROFS Data Compression Support" |
Gao Xiang | 02827e1 | 2018-07-26 20:21:58 +0800 | [diff] [blame] | 78 | depends on EROFS_FS |
Gao Xiang | 7962e63 | 2018-11-10 00:07:50 +0800 | [diff] [blame] | 79 | select LZ4_DECOMPRESS |
Gao Xiang | 0b800f3 | 2019-07-31 23:57:52 +0800 | [diff] [blame] | 80 | default y |
Gao Xiang | 02827e1 | 2018-07-26 20:21:58 +0800 | [diff] [blame] | 81 | help |
Gao Xiang | 0b800f3 | 2019-07-31 23:57:52 +0800 | [diff] [blame] | 82 | Enable fixed-sized output compression for EROFS. |
Gao Xiang | 02827e1 | 2018-07-26 20:21:58 +0800 | [diff] [blame] | 83 | |
Gao Xiang | 0b800f3 | 2019-07-31 23:57:52 +0800 | [diff] [blame] | 84 | If you don't want to enable compression feature, say N. |
Gao Xiang | 622cead | 2021-10-11 05:31:45 +0800 | [diff] [blame] | 85 | |
| 86 | config 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. |