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