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