xref: /kernel/linux/linux-5.10/fs/erofs/Kconfig (revision 8c2ecf20)
18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
28c2ecf20Sopenharmony_ci
38c2ecf20Sopenharmony_ciconfig EROFS_FS
48c2ecf20Sopenharmony_ci	tristate "EROFS filesystem support"
58c2ecf20Sopenharmony_ci	depends on BLOCK
68c2ecf20Sopenharmony_ci	select LIBCRC32C
78c2ecf20Sopenharmony_ci	help
88c2ecf20Sopenharmony_ci	  EROFS (Enhanced Read-Only File System) is a lightweight
98c2ecf20Sopenharmony_ci	  read-only file system with modern designs (eg. page-sized
108c2ecf20Sopenharmony_ci	  blocks, inline xattrs/data, etc.) for scenarios which need
118c2ecf20Sopenharmony_ci	  high-performance read-only requirements, e.g. Android OS
128c2ecf20Sopenharmony_ci	  for mobile phones and LIVECDs.
138c2ecf20Sopenharmony_ci
148c2ecf20Sopenharmony_ci	  It also provides fixed-sized output compression support,
158c2ecf20Sopenharmony_ci	  which improves storage density, keeps relatively higher
168c2ecf20Sopenharmony_ci	  compression ratios, which is more useful to achieve high
178c2ecf20Sopenharmony_ci	  performance for embedded devices with limited memory.
188c2ecf20Sopenharmony_ci
198c2ecf20Sopenharmony_ci	  If unsure, say N.
208c2ecf20Sopenharmony_ci
218c2ecf20Sopenharmony_ciconfig EROFS_FS_DEBUG
228c2ecf20Sopenharmony_ci	bool "EROFS debugging feature"
238c2ecf20Sopenharmony_ci	depends on EROFS_FS
248c2ecf20Sopenharmony_ci	help
258c2ecf20Sopenharmony_ci	  Print debugging messages and enable more BUG_ONs which check
268c2ecf20Sopenharmony_ci	  filesystem consistency and find potential issues aggressively,
278c2ecf20Sopenharmony_ci	  which can be used for Android eng build, for example.
288c2ecf20Sopenharmony_ci
298c2ecf20Sopenharmony_ci	  For daily use, say N.
308c2ecf20Sopenharmony_ci
318c2ecf20Sopenharmony_ciconfig EROFS_FS_XATTR
328c2ecf20Sopenharmony_ci	bool "EROFS extended attributes"
338c2ecf20Sopenharmony_ci	depends on EROFS_FS
348c2ecf20Sopenharmony_ci	default y
358c2ecf20Sopenharmony_ci	help
368c2ecf20Sopenharmony_ci	  Extended attributes are name:value pairs associated with inodes by
378c2ecf20Sopenharmony_ci	  the kernel or by users (see the attr(5) manual page, or visit
388c2ecf20Sopenharmony_ci	  <http://acl.bestbits.at/> for details).
398c2ecf20Sopenharmony_ci
408c2ecf20Sopenharmony_ci	  If unsure, say N.
418c2ecf20Sopenharmony_ci
428c2ecf20Sopenharmony_ciconfig EROFS_FS_POSIX_ACL
438c2ecf20Sopenharmony_ci	bool "EROFS Access Control Lists"
448c2ecf20Sopenharmony_ci	depends on EROFS_FS_XATTR
458c2ecf20Sopenharmony_ci	select FS_POSIX_ACL
468c2ecf20Sopenharmony_ci	default y
478c2ecf20Sopenharmony_ci	help
488c2ecf20Sopenharmony_ci	  Posix Access Control Lists (ACLs) support permissions for users and
498c2ecf20Sopenharmony_ci	  groups beyond the owner/group/world scheme.
508c2ecf20Sopenharmony_ci
518c2ecf20Sopenharmony_ci	  To learn more about Access Control Lists, visit the POSIX ACLs for
528c2ecf20Sopenharmony_ci	  Linux website <http://acl.bestbits.at/>.
538c2ecf20Sopenharmony_ci
548c2ecf20Sopenharmony_ci	  If you don't know what Access Control Lists are, say N.
558c2ecf20Sopenharmony_ci
568c2ecf20Sopenharmony_ciconfig EROFS_FS_SECURITY
578c2ecf20Sopenharmony_ci	bool "EROFS Security Labels"
588c2ecf20Sopenharmony_ci	depends on EROFS_FS_XATTR
598c2ecf20Sopenharmony_ci	default y
608c2ecf20Sopenharmony_ci	help
618c2ecf20Sopenharmony_ci	  Security labels provide an access control facility to support Linux
628c2ecf20Sopenharmony_ci	  Security Models (LSMs) accepted by AppArmor, SELinux, Smack and TOMOYO
638c2ecf20Sopenharmony_ci	  Linux. This option enables an extended attribute handler for file
648c2ecf20Sopenharmony_ci	  security labels in the erofs filesystem, so that it requires enabling
658c2ecf20Sopenharmony_ci	  the extended attribute support in advance.
668c2ecf20Sopenharmony_ci
678c2ecf20Sopenharmony_ci	  If you are not using a security module, say N.
688c2ecf20Sopenharmony_ci
698c2ecf20Sopenharmony_ciconfig EROFS_FS_ZIP
708c2ecf20Sopenharmony_ci	bool "EROFS Data Compression Support"
718c2ecf20Sopenharmony_ci	depends on EROFS_FS
728c2ecf20Sopenharmony_ci	select LZ4_DECOMPRESS
738c2ecf20Sopenharmony_ci	default y
748c2ecf20Sopenharmony_ci	help
758c2ecf20Sopenharmony_ci	  Enable fixed-sized output compression for EROFS.
768c2ecf20Sopenharmony_ci
778c2ecf20Sopenharmony_ci	  If you don't want to enable compression feature, say N.
788c2ecf20Sopenharmony_ci
798c2ecf20Sopenharmony_ciconfig EROFS_FS_CLUSTER_PAGE_LIMIT
808c2ecf20Sopenharmony_ci	int "EROFS Cluster Pages Hard Limit"
818c2ecf20Sopenharmony_ci	depends on EROFS_FS_ZIP
828c2ecf20Sopenharmony_ci	range 1 256
838c2ecf20Sopenharmony_ci	default "1"
848c2ecf20Sopenharmony_ci	help
858c2ecf20Sopenharmony_ci	  Indicates maximum # of pages of a compressed
868c2ecf20Sopenharmony_ci	  physical cluster.
878c2ecf20Sopenharmony_ci
888c2ecf20Sopenharmony_ci	  For example, if files in a image were compressed
898c2ecf20Sopenharmony_ci	  into 8k-unit, hard limit should not be configured
908c2ecf20Sopenharmony_ci	  less than 2. Otherwise, the image will be refused
918c2ecf20Sopenharmony_ci	  to mount on this kernel.
928c2ecf20Sopenharmony_ci
93