| # SPDX-License-Identifier: GPL-2.0-only | 
 | config F2FS_FS | 
 | 	tristate "F2FS filesystem support" | 
 | 	depends on BLOCK | 
 | 	select BUFFER_HEAD | 
 | 	select NLS | 
 | 	select CRC32 | 
 | 	select F2FS_FS_XATTR if FS_ENCRYPTION | 
 | 	select FS_ENCRYPTION_ALGS if FS_ENCRYPTION | 
 | 	select FS_IOMAP | 
 | 	select LZ4_COMPRESS if F2FS_FS_LZ4 | 
 | 	select LZ4_DECOMPRESS if F2FS_FS_LZ4 | 
 | 	select LZ4HC_COMPRESS if F2FS_FS_LZ4HC | 
 | 	select LZO_COMPRESS if F2FS_FS_LZO | 
 | 	select LZO_DECOMPRESS if F2FS_FS_LZO | 
 | 	select ZSTD_COMPRESS if F2FS_FS_ZSTD | 
 | 	select ZSTD_DECOMPRESS if F2FS_FS_ZSTD | 
 | 	help | 
 | 	  F2FS is based on Log-structured File System (LFS), which supports | 
 | 	  versatile "flash-friendly" features. The design has been focused on | 
 | 	  addressing the fundamental issues in LFS, which are snowball effect | 
 | 	  of wandering tree and high cleaning overhead. | 
 |  | 
 | 	  Since flash-based storages show different characteristics according to | 
 | 	  the internal geometry or flash memory management schemes aka FTL, F2FS | 
 | 	  and tools support various parameters not only for configuring on-disk | 
 | 	  layout, but also for selecting allocation and cleaning algorithms. | 
 |  | 
 | 	  If unsure, say N. | 
 |  | 
 | config F2FS_STAT_FS | 
 | 	bool "F2FS Status Information" | 
 | 	depends on F2FS_FS | 
 | 	default y | 
 | 	help | 
 | 	  /sys/kernel/debug/f2fs/ contains information about all the partitions | 
 | 	  mounted as f2fs. Each file shows the whole f2fs information. | 
 |  | 
 | 	  /sys/kernel/debug/f2fs/status includes: | 
 | 	    - major filesystem information managed by f2fs currently | 
 | 	    - average SIT information about whole segments | 
 | 	    - current memory footprint consumed by f2fs. | 
 |  | 
 | config F2FS_FS_XATTR | 
 | 	bool "F2FS extended attributes" | 
 | 	depends on F2FS_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 for details). | 
 |  | 
 | 	  If unsure, say N. | 
 |  | 
 | config F2FS_FS_POSIX_ACL | 
 | 	bool "F2FS Access Control Lists" | 
 | 	depends on F2FS_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. | 
 |  | 
 | 	  If you don't know what Access Control Lists are, say N | 
 |  | 
 | config F2FS_FS_SECURITY | 
 | 	bool "F2FS Security Labels" | 
 | 	depends on F2FS_FS_XATTR | 
 | 	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 f2fs filesystem, so that it requires enabling | 
 | 	  the extended attribute support in advance. In particular you need this | 
 | 	  option if you use the setcap command to assign initial process capabi- | 
 | 	  lities to executables (the security.* extended attributes). | 
 |  | 
 | 	  If you are not using a security module, say N. | 
 |  | 
 | config F2FS_CHECK_FS | 
 | 	bool "F2FS consistency checking feature" | 
 | 	depends on F2FS_FS | 
 | 	help | 
 | 	  Enables BUG_ONs which check the filesystem consistency in runtime. | 
 |  | 
 | 	  If you want to improve the performance, say N. | 
 |  | 
 | config F2FS_FAULT_INJECTION | 
 | 	bool "F2FS fault injection facility" | 
 | 	depends on F2FS_FS | 
 | 	help | 
 | 	  Test F2FS to inject faults such as ENOMEM, ENOSPC, and so on. | 
 |  | 
 | 	  If unsure, say N. | 
 |  | 
 | config F2FS_FS_COMPRESSION | 
 | 	bool "F2FS compression feature" | 
 | 	depends on F2FS_FS | 
 | 	help | 
 | 	  Enable filesystem-level compression on f2fs regular files, | 
 | 	  multiple back-end compression algorithms are supported. | 
 |  | 
 | config F2FS_FS_LZO | 
 | 	bool "LZO compression support" | 
 | 	depends on F2FS_FS_COMPRESSION | 
 | 	default y | 
 | 	help | 
 | 	  Support LZO compress algorithm, if unsure, say Y. | 
 |  | 
 | config F2FS_FS_LZORLE | 
 | 	bool "LZO-RLE compression support" | 
 | 	depends on F2FS_FS_LZO | 
 | 	default y | 
 | 	help | 
 | 	  Support LZO-RLE compress algorithm, if unsure, say Y. | 
 |  | 
 | config F2FS_FS_LZ4 | 
 | 	bool "LZ4 compression support" | 
 | 	depends on F2FS_FS_COMPRESSION | 
 | 	default y | 
 | 	help | 
 | 	  Support LZ4 compress algorithm, if unsure, say Y. | 
 |  | 
 | config F2FS_FS_LZ4HC | 
 | 	bool "LZ4HC compression support" | 
 | 	depends on F2FS_FS_LZ4 | 
 | 	default y | 
 | 	help | 
 | 	  Support LZ4HC compress algorithm, LZ4HC has compatible on-disk | 
 | 	  layout with LZ4, if unsure, say Y. | 
 |  | 
 | config F2FS_FS_ZSTD | 
 | 	bool "ZSTD compression support" | 
 | 	depends on F2FS_FS_COMPRESSION | 
 | 	default y | 
 | 	help | 
 | 	  Support ZSTD compress algorithm, if unsure, say Y. | 
 |  | 
 | config F2FS_IOSTAT | 
 | 	bool "F2FS IO statistics information" | 
 | 	depends on F2FS_FS | 
 | 	default y | 
 | 	help | 
 | 	  Support getting IO statistics through sysfs and printing out periodic | 
 | 	  IO statistics tracepoint events. You have to turn on "iostat_enable" | 
 | 	  sysfs node to enable this feature. | 
 |  | 
 | config F2FS_UNFAIR_RWSEM | 
 | 	bool "F2FS unfair rw_semaphore" | 
 | 	depends on F2FS_FS && BLK_CGROUP | 
 | 	help | 
 | 	  Use unfair rw_semaphore, if system configured IO priority by block | 
 | 	  cgroup. |