1# SPDX-License-Identifier: GPL-2.0-only 2config F2FS_FS 3 tristate "F2FS filesystem support" 4 depends on BLOCK 5 select NLS 6 select CRYPTO 7 select CRYPTO_CRC32 8 select F2FS_FS_XATTR if FS_ENCRYPTION 9 select FS_ENCRYPTION_ALGS if FS_ENCRYPTION 10 help 11 F2FS is based on Log-structured File System (LFS), which supports 12 versatile "flash-friendly" features. The design has been focused on 13 addressing the fundamental issues in LFS, which are snowball effect 14 of wandering tree and high cleaning overhead. 15 16 Since flash-based storages show different characteristics according to 17 the internal geometry or flash memory management schemes aka FTL, F2FS 18 and tools support various parameters not only for configuring on-disk 19 layout, but also for selecting allocation and cleaning algorithms. 20 21 If unsure, say N. 22 23config F2FS_STAT_FS 24 bool "F2FS Status Information" 25 depends on F2FS_FS 26 default y 27 help 28 /sys/kernel/debug/f2fs/ contains information about all the partitions 29 mounted as f2fs. Each file shows the whole f2fs information. 30 31 /sys/kernel/debug/f2fs/status includes: 32 - major filesystem information managed by f2fs currently 33 - average SIT information about whole segments 34 - current memory footprint consumed by f2fs. 35 36config F2FS_FS_XATTR 37 bool "F2FS extended attributes" 38 depends on F2FS_FS 39 default y 40 help 41 Extended attributes are name:value pairs associated with inodes by 42 the kernel or by users (see the attr(5) manual page for details). 43 44 If unsure, say N. 45 46config F2FS_FS_POSIX_ACL 47 bool "F2FS Access Control Lists" 48 depends on F2FS_FS_XATTR 49 select FS_POSIX_ACL 50 default y 51 help 52 Posix Access Control Lists (ACLs) support permissions for users and 53 groups beyond the owner/group/world scheme. 54 55 If you don't know what Access Control Lists are, say N 56 57config F2FS_FS_SECURITY 58 bool "F2FS Security Labels" 59 depends on F2FS_FS_XATTR 60 help 61 Security labels provide an access control facility to support Linux 62 Security Models (LSMs) accepted by AppArmor, SELinux, Smack and TOMOYO 63 Linux. This option enables an extended attribute handler for file 64 security labels in the f2fs filesystem, so that it requires enabling 65 the extended attribute support in advance. In particular you need this 66 option if you use the setcap command to assign initial process capabi- 67 lities to executables (the security.* extended attributes). 68 69 If you are not using a security module, say N. 70 71config F2FS_CHECK_FS 72 bool "F2FS consistency checking feature" 73 depends on F2FS_FS 74 help 75 Enables BUG_ONs which check the filesystem consistency in runtime. 76 77 If you want to improve the performance, say N. 78 79config F2FS_IO_TRACE 80 bool "F2FS IO tracer" 81 depends on F2FS_FS 82 depends on FUNCTION_TRACER 83 help 84 F2FS IO trace is based on a function trace, which gathers process 85 information and block IO patterns in the filesystem level. 86 87 If unsure, say N. 88 89config F2FS_FAULT_INJECTION 90 bool "F2FS fault injection facility" 91 depends on F2FS_FS 92 help 93 Test F2FS to inject faults such as ENOMEM, ENOSPC, and so on. 94 95 If unsure, say N. 96 97config F2FS_FS_COMPRESSION 98 bool "F2FS compression feature" 99 depends on F2FS_FS 100 help 101 Enable filesystem-level compression on f2fs regular files, 102 multiple back-end compression algorithms are supported. 103 104config F2FS_FS_LZO 105 bool "LZO compression support" 106 depends on F2FS_FS_COMPRESSION 107 select LZO_COMPRESS 108 select LZO_DECOMPRESS 109 default y 110 help 111 Support LZO compress algorithm, if unsure, say Y. 112 113config F2FS_FS_LZ4 114 bool "LZ4 compression support" 115 depends on F2FS_FS_COMPRESSION 116 select LZ4_COMPRESS 117 select LZ4_DECOMPRESS 118 default y 119 help 120 Support LZ4 compress algorithm, if unsure, say Y. 121 122config F2FS_FS_ZSTD 123 bool "ZSTD compression support" 124 depends on F2FS_FS_COMPRESSION 125 select ZSTD_COMPRESS 126 select ZSTD_DECOMPRESS 127 default y 128 help 129 Support ZSTD compress algorithm, if unsure, say Y. 130