147e4937aSGao Xiang# SPDX-License-Identifier: GPL-2.0-only 247e4937aSGao Xiang 347e4937aSGao Xiangconfig EROFS_FS 447e4937aSGao Xiang tristate "EROFS filesystem support" 547e4937aSGao Xiang depends on BLOCK 6a08e67a0SHuang Jianan select FS_IOMAP 7b858a484SPratik Shinde select LIBCRC32C 847e4937aSGao Xiang help 9dfeab2e9SGao Xiang EROFS (Enhanced Read-Only File System) is a lightweight read-only 10dfeab2e9SGao Xiang file system with modern designs (e.g. no buffer heads, inline 11dfeab2e9SGao Xiang xattrs/data, chunk-based deduplication, multiple devices, etc.) for 12dfeab2e9SGao Xiang scenarios which need high-performance read-only solutions, e.g. 13dfeab2e9SGao Xiang smartphones with Android OS, LiveCDs and high-density hosts with 14dfeab2e9SGao Xiang numerous containers; 1547e4937aSGao Xiang 16dfeab2e9SGao Xiang It also provides fixed-sized output compression support in order to 17dfeab2e9SGao Xiang improve storage density as well as keep relatively higher compression 18dfeab2e9SGao Xiang ratios and implements in-place decompression to reuse the file page 19dfeab2e9SGao Xiang for compressed data temporarily with proper strategies, which is 20dfeab2e9SGao Xiang quite useful to ensure guaranteed end-to-end runtime decompression 21dfeab2e9SGao Xiang performance under extremely memory pressure without extra cost. 22dfeab2e9SGao Xiang 23dfeab2e9SGao Xiang See the documentation at <file:Documentation/filesystems/erofs.rst> 24dfeab2e9SGao Xiang for more details. 2547e4937aSGao Xiang 2647e4937aSGao Xiang If unsure, say N. 2747e4937aSGao Xiang 2847e4937aSGao Xiangconfig EROFS_FS_DEBUG 2947e4937aSGao Xiang bool "EROFS debugging feature" 3047e4937aSGao Xiang depends on EROFS_FS 3147e4937aSGao Xiang help 3247e4937aSGao Xiang Print debugging messages and enable more BUG_ONs which check 3347e4937aSGao Xiang filesystem consistency and find potential issues aggressively, 3447e4937aSGao Xiang which can be used for Android eng build, for example. 3547e4937aSGao Xiang 3647e4937aSGao Xiang For daily use, say N. 3747e4937aSGao Xiang 3847e4937aSGao Xiangconfig EROFS_FS_XATTR 3947e4937aSGao Xiang bool "EROFS extended attributes" 4047e4937aSGao Xiang depends on EROFS_FS 41*fd73a439SJingbo Xu select XXHASH 4247e4937aSGao Xiang default y 4347e4937aSGao Xiang help 4447e4937aSGao Xiang Extended attributes are name:value pairs associated with inodes by 4547e4937aSGao Xiang the kernel or by users (see the attr(5) manual page, or visit 4647e4937aSGao Xiang <http://acl.bestbits.at/> for details). 4747e4937aSGao Xiang 4847e4937aSGao Xiang If unsure, say N. 4947e4937aSGao Xiang 5047e4937aSGao Xiangconfig EROFS_FS_POSIX_ACL 5147e4937aSGao Xiang bool "EROFS Access Control Lists" 5247e4937aSGao Xiang depends on EROFS_FS_XATTR 5347e4937aSGao Xiang select FS_POSIX_ACL 5447e4937aSGao Xiang default y 5547e4937aSGao Xiang help 5647e4937aSGao Xiang Posix Access Control Lists (ACLs) support permissions for users and 5747e4937aSGao Xiang groups beyond the owner/group/world scheme. 5847e4937aSGao Xiang 5947e4937aSGao Xiang To learn more about Access Control Lists, visit the POSIX ACLs for 6047e4937aSGao Xiang Linux website <http://acl.bestbits.at/>. 6147e4937aSGao Xiang 6247e4937aSGao Xiang If you don't know what Access Control Lists are, say N. 6347e4937aSGao Xiang 6447e4937aSGao Xiangconfig EROFS_FS_SECURITY 6547e4937aSGao Xiang bool "EROFS Security Labels" 6647e4937aSGao Xiang depends on EROFS_FS_XATTR 6747e4937aSGao Xiang default y 6847e4937aSGao Xiang help 6947e4937aSGao Xiang Security labels provide an access control facility to support Linux 7047e4937aSGao Xiang Security Models (LSMs) accepted by AppArmor, SELinux, Smack and TOMOYO 7147e4937aSGao Xiang Linux. This option enables an extended attribute handler for file 7247e4937aSGao Xiang security labels in the erofs filesystem, so that it requires enabling 7347e4937aSGao Xiang the extended attribute support in advance. 7447e4937aSGao Xiang 7547e4937aSGao Xiang If you are not using a security module, say N. 7647e4937aSGao Xiang 7747e4937aSGao Xiangconfig EROFS_FS_ZIP 7847e4937aSGao Xiang bool "EROFS Data Compression Support" 7947e4937aSGao Xiang depends on EROFS_FS 8047e4937aSGao Xiang select LZ4_DECOMPRESS 8147e4937aSGao Xiang default y 8247e4937aSGao Xiang help 8347e4937aSGao Xiang Enable fixed-sized output compression for EROFS. 8447e4937aSGao Xiang 8547e4937aSGao Xiang If you don't want to enable compression feature, say N. 86622ceaddSGao Xiang 87622ceaddSGao Xiangconfig EROFS_FS_ZIP_LZMA 88622ceaddSGao Xiang bool "EROFS LZMA compressed data support" 89622ceaddSGao Xiang depends on EROFS_FS_ZIP 90622ceaddSGao Xiang select XZ_DEC 91622ceaddSGao Xiang select XZ_DEC_MICROLZMA 92622ceaddSGao Xiang help 93622ceaddSGao Xiang Saying Y here includes support for reading EROFS file systems 94622ceaddSGao Xiang containing LZMA compressed data, specifically called microLZMA. it 95622ceaddSGao Xiang gives better compression ratios than the LZ4 algorithm, at the 96622ceaddSGao Xiang expense of more CPU overhead. 97622ceaddSGao Xiang 98622ceaddSGao Xiang LZMA support is an experimental feature for now and so most file 99622ceaddSGao Xiang systems will be readable without selecting this option. 100622ceaddSGao Xiang 101622ceaddSGao Xiang If unsure, say N. 102c6be2bd0SJeffle Xu 103ffa09b3bSGao Xiangconfig EROFS_FS_ZIP_DEFLATE 104ffa09b3bSGao Xiang bool "EROFS DEFLATE compressed data support" 105ffa09b3bSGao Xiang depends on EROFS_FS_ZIP 106ffa09b3bSGao Xiang select ZLIB_INFLATE 107ffa09b3bSGao Xiang help 108ffa09b3bSGao Xiang Saying Y here includes support for reading EROFS file systems 109ffa09b3bSGao Xiang containing DEFLATE compressed data. It gives better compression 110ffa09b3bSGao Xiang ratios than the default LZ4 format, while it costs more CPU 111ffa09b3bSGao Xiang overhead. 112ffa09b3bSGao Xiang 113ffa09b3bSGao Xiang DEFLATE support is an experimental feature for now and so most 114ffa09b3bSGao Xiang file systems will be readable without selecting this option. 115ffa09b3bSGao Xiang 116ffa09b3bSGao Xiang If unsure, say N. 117ffa09b3bSGao Xiang 118c6be2bd0SJeffle Xuconfig EROFS_FS_ONDEMAND 119c6be2bd0SJeffle Xu bool "EROFS fscache-based on-demand read support" 120c6be2bd0SJeffle Xu depends on CACHEFILES_ONDEMAND && (EROFS_FS=m && FSCACHE || EROFS_FS=y && FSCACHE=y) 121c6be2bd0SJeffle Xu default n 122c6be2bd0SJeffle Xu help 123c6be2bd0SJeffle Xu This permits EROFS to use fscache-backed data blobs with on-demand 124c6be2bd0SJeffle Xu read support. 125c6be2bd0SJeffle Xu 126c6be2bd0SJeffle Xu If unsure, say N. 1273fffb589SSandeep Dhavale 1283fffb589SSandeep Dhavaleconfig EROFS_FS_PCPU_KTHREAD 1293fffb589SSandeep Dhavale bool "EROFS per-cpu decompression kthread workers" 1303fffb589SSandeep Dhavale depends on EROFS_FS_ZIP 1313fffb589SSandeep Dhavale help 1323fffb589SSandeep Dhavale Saying Y here enables per-CPU kthread workers pool to carry out 1333fffb589SSandeep Dhavale async decompression for low latencies on some architectures. 1343fffb589SSandeep Dhavale 1353fffb589SSandeep Dhavale If unsure, say N. 1363fffb589SSandeep Dhavale 1373fffb589SSandeep Dhavaleconfig EROFS_FS_PCPU_KTHREAD_HIPRI 1383fffb589SSandeep Dhavale bool "EROFS high priority per-CPU kthread workers" 1393fffb589SSandeep Dhavale depends on EROFS_FS_ZIP && EROFS_FS_PCPU_KTHREAD 140cf7f2732SGao Xiang default y 1413fffb589SSandeep Dhavale help 1423fffb589SSandeep Dhavale This permits EROFS to configure per-CPU kthread workers to run 1433fffb589SSandeep Dhavale at higher priority. 1443fffb589SSandeep Dhavale 1453fffb589SSandeep Dhavale If unsure, say N. 146