fs/squashfs/Kconfig

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

File Facts

System
Linux kernel
Corpus path
fs/squashfs/Kconfig
Extension
[no extension]
Size
10199 bytes
Lines
288
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 SQUASHFS
	tristate "SquashFS 4.0 - Squashed file system support"
	depends on BLOCK
	help
	  Saying Y here includes support for SquashFS 4.0 (a Compressed
	  Read-Only File System).  Squashfs is a highly compressed read-only
	  filesystem for Linux.  It uses zlib, lz4, lzo, xz or zstd compression
	  to compress both files, inodes and directories.  Inodes in the system
	  are very small and all blocks are packed to minimise data overhead.
	  Block sizes greater than 4K are supported up to a maximum of 1 Mbytes
	  (default block size 128K).  SquashFS 4.0 supports 64 bit filesystems
	  and files (larger than 4GB), full uid/gid information, hard links and
	  timestamps.

	  Squashfs is intended for general read-only filesystem use, for
	  archival use (i.e. in cases where a .tar.gz file may be used), and in
	  embedded systems where low overhead is needed.  Further information
	  and tools are available from github.com/plougher/squashfs-tools.

	  If you want to compile this as a module ( = code which can be
	  inserted in and removed from the running kernel whenever you want),
	  say M here.  The module will be called squashfs.  Note that the root
	  file system (the one containing the directory /) cannot be compiled
	  as a module.

	  If unsure, say N.

choice
	prompt "File decompression options"
	depends on SQUASHFS
	help
	  Squashfs now supports two options for decompressing file
	  data.  Traditionally Squashfs has decompressed into an
	  intermediate buffer and then memcopied it into the page cache.
	  Squashfs now supports the ability to decompress directly into
	  the page cache.

	  If unsure, select "Decompress file data into an intermediate buffer"

config SQUASHFS_FILE_CACHE
	bool "Decompress file data into an intermediate buffer"
	help
	  Decompress file data into an intermediate buffer and then
	  memcopy it into the page cache.

config SQUASHFS_FILE_DIRECT
	bool "Decompress files directly into the page cache"
	help
	  Directly decompress file data into the page cache.
	  Doing so can significantly improve performance because
	  it eliminates a memcpy and it also removes the lock contention
	  on the single buffer.

endchoice

config SQUASHFS_DECOMP_SINGLE
	depends on SQUASHFS
	def_bool n

config SQUASHFS_DECOMP_MULTI
	depends on SQUASHFS
	def_bool n

config SQUASHFS_DECOMP_MULTI_PERCPU
	depends on SQUASHFS
	def_bool n

config SQUASHFS_CHOICE_DECOMP_BY_MOUNT
	bool "Select the parallel decompression mode during mount"

Annotation

Implementation Notes