Thomas Gleixner | ec8f24b | 2019-05-19 13:07:45 +0100 | [diff] [blame] | 1 | # SPDX-License-Identifier: GPL-2.0-only |
Jaegeuk Kim | a14d5393 | 2012-11-02 17:25:27 +0900 | [diff] [blame] | 2 | config F2FS_FS |
Jaegeuk Kim | d7196c5 | 2015-03-03 17:06:55 -0800 | [diff] [blame] | 3 | tristate "F2FS filesystem support" |
Jaegeuk Kim | 573ea5f | 2012-11-30 17:32:08 +0900 | [diff] [blame] | 4 | depends on BLOCK |
YueHaibing | aabc172 | 2019-08-08 10:02:53 +0800 | [diff] [blame] | 5 | select NLS |
Keith Mok | 43b6573 | 2016-03-02 12:04:24 -0800 | [diff] [blame] | 6 | select CRYPTO |
| 7 | select CRYPTO_CRC32 |
Chandan Rajendra | 643fa96 | 2018-12-12 15:20:12 +0530 | [diff] [blame] | 8 | select F2FS_FS_XATTR if FS_ENCRYPTION |
Herbert Xu | ede7a09 | 2019-12-27 10:47:00 +0800 | [diff] [blame] | 9 | select FS_ENCRYPTION_ALGS if FS_ENCRYPTION |
Geert Uytterhoeven | 72f8588 | 2021-02-26 16:51:42 +0100 | [diff] [blame] | 10 | select LZ4_COMPRESS if F2FS_FS_LZ4 |
| 11 | select LZ4_DECOMPRESS if F2FS_FS_LZ4 |
| 12 | select LZ4HC_COMPRESS if F2FS_FS_LZ4HC |
| 13 | select LZO_COMPRESS if F2FS_FS_LZO |
| 14 | select LZO_DECOMPRESS if F2FS_FS_LZO |
| 15 | select ZSTD_COMPRESS if F2FS_FS_ZSTD |
| 16 | select ZSTD_DECOMPRESS if F2FS_FS_ZSTD |
Jaegeuk Kim | a14d5393 | 2012-11-02 17:25:27 +0900 | [diff] [blame] | 17 | help |
| 18 | F2FS is based on Log-structured File System (LFS), which supports |
| 19 | versatile "flash-friendly" features. The design has been focused on |
| 20 | addressing the fundamental issues in LFS, which are snowball effect |
| 21 | of wandering tree and high cleaning overhead. |
| 22 | |
| 23 | Since flash-based storages show different characteristics according to |
| 24 | the internal geometry or flash memory management schemes aka FTL, F2FS |
| 25 | and tools support various parameters not only for configuring on-disk |
| 26 | layout, but also for selecting allocation and cleaning algorithms. |
| 27 | |
| 28 | If unsure, say N. |
| 29 | |
| 30 | config F2FS_STAT_FS |
| 31 | bool "F2FS Status Information" |
Hridya Valsaraju | fc7100e | 2020-01-22 10:51:16 -0800 | [diff] [blame] | 32 | depends on F2FS_FS |
Jaegeuk Kim | a14d5393 | 2012-11-02 17:25:27 +0900 | [diff] [blame] | 33 | default y |
| 34 | help |
| 35 | /sys/kernel/debug/f2fs/ contains information about all the partitions |
| 36 | mounted as f2fs. Each file shows the whole f2fs information. |
| 37 | |
| 38 | /sys/kernel/debug/f2fs/status includes: |
arter97 | e1c4204 | 2014-08-06 23:22:50 +0900 | [diff] [blame] | 39 | - major filesystem information managed by f2fs currently |
Jaegeuk Kim | a14d5393 | 2012-11-02 17:25:27 +0900 | [diff] [blame] | 40 | - average SIT information about whole segments |
| 41 | - current memory footprint consumed by f2fs. |
| 42 | |
| 43 | config F2FS_FS_XATTR |
| 44 | bool "F2FS extended attributes" |
| 45 | depends on F2FS_FS |
| 46 | default y |
| 47 | help |
| 48 | Extended attributes are name:value pairs associated with inodes by |
Adam Borowski | 91581e4 | 2017-12-20 14:58:52 +0100 | [diff] [blame] | 49 | the kernel or by users (see the attr(5) manual page for details). |
Jaegeuk Kim | a14d5393 | 2012-11-02 17:25:27 +0900 | [diff] [blame] | 50 | |
| 51 | If unsure, say N. |
| 52 | |
| 53 | config F2FS_FS_POSIX_ACL |
| 54 | bool "F2FS Access Control Lists" |
| 55 | depends on F2FS_FS_XATTR |
| 56 | select FS_POSIX_ACL |
| 57 | default y |
| 58 | help |
| 59 | Posix Access Control Lists (ACLs) support permissions for users and |
Junesung Lee | 217940d | 2015-08-18 22:42:15 +0900 | [diff] [blame] | 60 | groups beyond the owner/group/world scheme. |
Jaegeuk Kim | a14d5393 | 2012-11-02 17:25:27 +0900 | [diff] [blame] | 61 | |
Jaegeuk Kim | a14d5393 | 2012-11-02 17:25:27 +0900 | [diff] [blame] | 62 | If you don't know what Access Control Lists are, say N |
Jaegeuk Kim | 8ae8f16 | 2013-06-03 19:46:19 +0900 | [diff] [blame] | 63 | |
| 64 | config F2FS_FS_SECURITY |
| 65 | bool "F2FS Security Labels" |
| 66 | depends on F2FS_FS_XATTR |
| 67 | help |
| 68 | Security labels provide an access control facility to support Linux |
| 69 | Security Models (LSMs) accepted by AppArmor, SELinux, Smack and TOMOYO |
| 70 | Linux. This option enables an extended attribute handler for file |
| 71 | security labels in the f2fs filesystem, so that it requires enabling |
Lockywolf | bd7253b | 2019-08-25 17:28:38 +0800 | [diff] [blame] | 72 | the extended attribute support in advance. In particular you need this |
| 73 | option if you use the setcap command to assign initial process capabi- |
| 74 | lities to executables (the security.* extended attributes). |
Jaegeuk Kim | 8ae8f16 | 2013-06-03 19:46:19 +0900 | [diff] [blame] | 75 | |
| 76 | If you are not using a security module, say N. |
Jaegeuk Kim | 3b218e3 | 2013-10-29 15:43:01 +0900 | [diff] [blame] | 77 | |
| 78 | config F2FS_CHECK_FS |
| 79 | bool "F2FS consistency checking feature" |
| 80 | depends on F2FS_FS |
| 81 | help |
arter97 | e1c4204 | 2014-08-06 23:22:50 +0900 | [diff] [blame] | 82 | Enables BUG_ONs which check the filesystem consistency in runtime. |
Jaegeuk Kim | 3b218e3 | 2013-10-29 15:43:01 +0900 | [diff] [blame] | 83 | |
| 84 | If you want to improve the performance, say N. |
Jaegeuk Kim | 63f92dd | 2014-12-17 19:45:05 -0800 | [diff] [blame] | 85 | |
Jaegeuk Kim | 73faec4d | 2016-04-29 15:34:32 -0700 | [diff] [blame] | 86 | config F2FS_FAULT_INJECTION |
| 87 | bool "F2FS fault injection facility" |
| 88 | depends on F2FS_FS |
| 89 | help |
| 90 | Test F2FS to inject faults such as ENOMEM, ENOSPC, and so on. |
| 91 | |
| 92 | If unsure, say N. |
Chao Yu | 4c8ff70 | 2019-11-01 18:07:14 +0800 | [diff] [blame] | 93 | |
| 94 | config F2FS_FS_COMPRESSION |
| 95 | bool "F2FS compression feature" |
| 96 | depends on F2FS_FS |
| 97 | help |
| 98 | Enable filesystem-level compression on f2fs regular files, |
| 99 | multiple back-end compression algorithms are supported. |
| 100 | |
| 101 | config F2FS_FS_LZO |
| 102 | bool "LZO compression support" |
| 103 | depends on F2FS_FS_COMPRESSION |
Chao Yu | 4c8ff70 | 2019-11-01 18:07:14 +0800 | [diff] [blame] | 104 | default y |
| 105 | help |
| 106 | Support LZO compress algorithm, if unsure, say Y. |
| 107 | |
Tiezhu Yang | 6b3ba1e | 2021-08-05 21:30:24 +0800 | [diff] [blame] | 108 | config F2FS_FS_LZORLE |
| 109 | bool "LZO-RLE compression support" |
| 110 | depends on F2FS_FS_LZO |
| 111 | default y |
| 112 | help |
| 113 | Support LZO-RLE compress algorithm, if unsure, say Y. |
| 114 | |
Chao Yu | 4c8ff70 | 2019-11-01 18:07:14 +0800 | [diff] [blame] | 115 | config F2FS_FS_LZ4 |
| 116 | bool "LZ4 compression support" |
| 117 | depends on F2FS_FS_COMPRESSION |
Chao Yu | 4c8ff70 | 2019-11-01 18:07:14 +0800 | [diff] [blame] | 118 | default y |
| 119 | help |
| 120 | Support LZ4 compress algorithm, if unsure, say Y. |
Chao Yu | 50cfa66 | 2020-03-03 17:46:02 +0800 | [diff] [blame] | 121 | |
Chao Yu | 3fde13f | 2021-01-22 17:46:43 +0800 | [diff] [blame] | 122 | config F2FS_FS_LZ4HC |
| 123 | bool "LZ4HC compression support" |
Chao Yu | 3fde13f | 2021-01-22 17:46:43 +0800 | [diff] [blame] | 124 | depends on F2FS_FS_LZ4 |
Chao Yu | 3fde13f | 2021-01-22 17:46:43 +0800 | [diff] [blame] | 125 | default y |
| 126 | help |
| 127 | Support LZ4HC compress algorithm, LZ4HC has compatible on-disk |
| 128 | layout with LZ4, if unsure, say Y. |
| 129 | |
Chao Yu | 50cfa66 | 2020-03-03 17:46:02 +0800 | [diff] [blame] | 130 | config F2FS_FS_ZSTD |
| 131 | bool "ZSTD compression support" |
| 132 | depends on F2FS_FS_COMPRESSION |
Chao Yu | 50cfa66 | 2020-03-03 17:46:02 +0800 | [diff] [blame] | 133 | default y |
| 134 | help |
| 135 | Support ZSTD compress algorithm, if unsure, say Y. |
Daeho Jeong | 5211874 | 2021-08-19 20:52:28 -0700 | [diff] [blame] | 136 | |
| 137 | config F2FS_IOSTAT |
| 138 | bool "F2FS IO statistics information" |
| 139 | depends on F2FS_FS |
| 140 | default y |
| 141 | help |
| 142 | Support getting IO statistics through sysfs and printing out periodic |
| 143 | IO statistics tracepoint events. You have to turn on "iostat_enable" |
| 144 | sysfs node to enable this feature. |