| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180 |
- # SPDX-License-Identifier: GPL-2.0-only
- config EROFS_FS
- tristate "EROFS filesystem support"
- depends on BLOCK
- select FS_IOMAP
- select LIBCRC32C
- help
- EROFS (Enhanced Read-Only File System) is a lightweight read-only
- file system with modern designs (e.g. no buffer heads, inline
- xattrs/data, chunk-based deduplication, multiple devices, etc.) for
- scenarios which need high-performance read-only solutions, e.g.
- smartphones with Android OS, LiveCDs and high-density hosts with
- numerous containers;
- It also provides fixed-sized output compression support in order to
- improve storage density as well as keep relatively higher compression
- ratios and implements in-place decompression to reuse the file page
- for compressed data temporarily with proper strategies, which is
- quite useful to ensure guaranteed end-to-end runtime decompression
- performance under extremely memory pressure without extra cost.
- See the documentation at <file:Documentation/filesystems/erofs.rst>
- and the web pages at <https://erofs.docs.kernel.org> for more details.
- If unsure, say N.
- config EROFS_FS_DEBUG
- bool "EROFS debugging feature"
- depends on EROFS_FS
- help
- Print debugging messages and enable more BUG_ONs which check
- filesystem consistency and find potential issues aggressively,
- which can be used for Android eng build, for example.
- For daily use, say N.
- config EROFS_FS_XATTR
- bool "EROFS extended attributes"
- depends on EROFS_FS
- select XXHASH
- default y
- help
- Extended attributes are name:value pairs associated with inodes by
- the kernel or by users (see the attr(5) manual page, or visit
- <http://acl.bestbits.at/> for details).
- If unsure, say N.
- config EROFS_FS_POSIX_ACL
- bool "EROFS Access Control Lists"
- depends on EROFS_FS_XATTR
- select FS_POSIX_ACL
- default y
- help
- Posix Access Control Lists (ACLs) support permissions for users and
- groups beyond the owner/group/world scheme.
- To learn more about Access Control Lists, visit the POSIX ACLs for
- Linux website <http://acl.bestbits.at/>.
- If you don't know what Access Control Lists are, say N.
- config EROFS_FS_SECURITY
- bool "EROFS Security Labels"
- depends on EROFS_FS_XATTR
- default y
- help
- Security labels provide an access control facility to support Linux
- Security Models (LSMs) accepted by AppArmor, SELinux, Smack and TOMOYO
- Linux. This option enables an extended attribute handler for file
- security labels in the erofs filesystem, so that it requires enabling
- the extended attribute support in advance.
- If you are not using a security module, say N.
- config EROFS_FS_BACKED_BY_FILE
- bool "File-backed EROFS filesystem support"
- depends on EROFS_FS
- default y
- help
- This allows EROFS to use filesystem image files directly, without
- the intercession of loopback block devices or likewise. It is
- particularly useful for container images with numerous blobs and
- other sandboxes, where loop devices behave intricately. It can also
- be used to simplify error-prone lifetime management of unnecessary
- virtual block devices.
- Note that this feature, along with ongoing fanotify pre-content
- hooks, will eventually replace "EROFS over fscache."
- If you don't want to enable this feature, say N.
- config EROFS_FS_ZIP
- bool "EROFS Data Compression Support"
- depends on EROFS_FS
- select LZ4_DECOMPRESS
- default y
- help
- Enable fixed-sized output compression for EROFS.
- If you don't want to enable compression feature, say N.
- config EROFS_FS_ZIP_LZMA
- bool "EROFS LZMA compressed data support"
- depends on EROFS_FS_ZIP
- select XZ_DEC
- select XZ_DEC_MICROLZMA
- help
- Saying Y here includes support for reading EROFS file systems
- containing LZMA compressed data, specifically called microLZMA. It
- gives better compression ratios than the default LZ4 format, at the
- expense of more CPU overhead.
- If unsure, say N.
- config EROFS_FS_ZIP_DEFLATE
- bool "EROFS DEFLATE compressed data support"
- depends on EROFS_FS_ZIP
- select ZLIB_INFLATE
- help
- Saying Y here includes support for reading EROFS file systems
- containing DEFLATE compressed data. It gives better compression
- ratios than the default LZ4 format, while it costs more CPU
- overhead.
- DEFLATE support is an experimental feature for now and so most
- file systems will be readable without selecting this option.
- If unsure, say N.
- config EROFS_FS_ZIP_ZSTD
- bool "EROFS Zstandard compressed data support"
- depends on EROFS_FS_ZIP
- select ZSTD_DECOMPRESS
- help
- Saying Y here includes support for reading EROFS file systems
- containing Zstandard compressed data. It gives better compression
- ratios than the default LZ4 format, while it costs more CPU
- overhead.
- Zstandard support is an experimental feature for now and so most
- file systems will be readable without selecting this option.
- If unsure, say N.
- config EROFS_FS_ONDEMAND
- bool "EROFS fscache-based on-demand read support (deprecated)"
- depends on EROFS_FS
- select NETFS_SUPPORT
- select FSCACHE
- select CACHEFILES
- select CACHEFILES_ONDEMAND
- help
- This permits EROFS to use fscache-backed data blobs with on-demand
- read support.
- It is now deprecated and scheduled to be removed from the kernel
- after fanotify pre-content hooks are landed.
- If unsure, say N.
- config EROFS_FS_PCPU_KTHREAD
- bool "EROFS per-cpu decompression kthread workers"
- depends on EROFS_FS_ZIP
- help
- Saying Y here enables per-CPU kthread workers pool to carry out
- async decompression for low latencies on some architectures.
- If unsure, say N.
- config EROFS_FS_PCPU_KTHREAD_HIPRI
- bool "EROFS high priority per-CPU kthread workers"
- depends on EROFS_FS_ZIP && EROFS_FS_PCPU_KTHREAD
- default y
- help
- This permits EROFS to configure per-CPU kthread workers to run
- at higher priority.
- If unsure, say N.
|