fs/erofs/Kconfig

Source file repositories/reference/linux-study-clean/fs/erofs/Kconfig

File Facts

System
Linux kernel
Corpus path
fs/erofs/Kconfig
Extension
[no extension]
Size
7479 bytes
Lines
216
Domain
Core OS
Bucket
VFS And Filesystem Core
Inferred role
Core OS: build/configuration rule
Status
atlas-only

Why This File Exists

Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.

Dependency Surface

Detected Declarations

Annotated Snippet

# SPDX-License-Identifier: GPL-2.0-only

config EROFS_FS
	tristate "EROFS filesystem support"
	depends on BLOCK
	select CACHEFILES if EROFS_FS_ONDEMAND
	select CRC32
	select CRYPTO if EROFS_FS_ZIP_ACCEL
	select CRYPTO_DEFLATE if EROFS_FS_ZIP_ACCEL
	select FS_IOMAP
	select LZ4_DECOMPRESS if EROFS_FS_ZIP
	select NETFS_SUPPORT if EROFS_FS_ONDEMAND
	select XXHASH if EROFS_FS_XATTR
	select XZ_DEC if EROFS_FS_ZIP_LZMA
	select XZ_DEC_MICROLZMA if EROFS_FS_ZIP_LZMA
	select ZLIB_INFLATE if EROFS_FS_ZIP_DEFLATE
	select ZSTD_DECOMPRESS if EROFS_FS_ZIP_ZSTD
	help
	  EROFS (Enhanced Read-Only File System) is a modern, lightweight,
	  secure read-only filesystem for various use cases, such as immutable
	  system images, container images, application sandboxes, and datasets.

	  EROFS uses a flexible, hierarchical on-disk design so that features
	  can be enabled on demand: the core on-disk format is block-aligned in
	  order to perform optimally on all kinds of devices, including block
	  and memory-backed devices; the format is easy to parse and has zero
	  metadata redundancy, unlike generic filesystems, making it ideal for
	  filesystem auditing and remote access; inline data, random-access
	  friendly directory data, inline/shared extended attributes and
	  chunk-based deduplication ensure space efficiency while maintaining
	  high performance.

	  Optionally, it supports multiple devices to reference external data,
	  enabling data sharing for container images.

	  It also has advanced encoded on-disk layouts, particularly for data
	  compression and fine-grained deduplication. It utilizes fixed-size
	  output compression to improve storage density while keeping relatively
	  high compression ratios. Furthermore, it implements in-place
	  decompression to reuse file pages to keep compressed data temporarily
	  with proper strategies, which ensures guaranteed end-to-end runtime
	  performance under extreme memory pressure without extra cost.

	  For more details, see the web pages at <https://erofs.docs.kernel.org>
	  and the documentation at <file:Documentation/filesystems/erofs.rst>.

	  To compile EROFS filesystem support as a module, choose M here. The
	  module will be called erofs.

	  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
	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).

Annotation

Implementation Notes