0001 # SPDX-License-Identifier: GPL-2.0-only
0002 config F2FS_FS
0003 tristate "F2FS filesystem support"
0004 depends on BLOCK
0005 select NLS
0006 select CRYPTO
0007 select CRYPTO_CRC32
0008 select F2FS_FS_XATTR if FS_ENCRYPTION
0009 select FS_ENCRYPTION_ALGS if FS_ENCRYPTION
0010 select FS_IOMAP
0011 select LZ4_COMPRESS if F2FS_FS_LZ4
0012 select LZ4_DECOMPRESS if F2FS_FS_LZ4
0013 select LZ4HC_COMPRESS if F2FS_FS_LZ4HC
0014 select LZO_COMPRESS if F2FS_FS_LZO
0015 select LZO_DECOMPRESS if F2FS_FS_LZO
0016 select ZSTD_COMPRESS if F2FS_FS_ZSTD
0017 select ZSTD_DECOMPRESS if F2FS_FS_ZSTD
0018 help
0019 F2FS is based on Log-structured File System (LFS), which supports
0020 versatile "flash-friendly" features. The design has been focused on
0021 addressing the fundamental issues in LFS, which are snowball effect
0022 of wandering tree and high cleaning overhead.
0023
0024 Since flash-based storages show different characteristics according to
0025 the internal geometry or flash memory management schemes aka FTL, F2FS
0026 and tools support various parameters not only for configuring on-disk
0027 layout, but also for selecting allocation and cleaning algorithms.
0028
0029 If unsure, say N.
0030
0031 config F2FS_STAT_FS
0032 bool "F2FS Status Information"
0033 depends on F2FS_FS
0034 default y
0035 help
0036 /sys/kernel/debug/f2fs/ contains information about all the partitions
0037 mounted as f2fs. Each file shows the whole f2fs information.
0038
0039 /sys/kernel/debug/f2fs/status includes:
0040 - major filesystem information managed by f2fs currently
0041 - average SIT information about whole segments
0042 - current memory footprint consumed by f2fs.
0043
0044 config F2FS_FS_XATTR
0045 bool "F2FS extended attributes"
0046 depends on F2FS_FS
0047 default y
0048 help
0049 Extended attributes are name:value pairs associated with inodes by
0050 the kernel or by users (see the attr(5) manual page for details).
0051
0052 If unsure, say N.
0053
0054 config F2FS_FS_POSIX_ACL
0055 bool "F2FS Access Control Lists"
0056 depends on F2FS_FS_XATTR
0057 select FS_POSIX_ACL
0058 default y
0059 help
0060 Posix Access Control Lists (ACLs) support permissions for users and
0061 groups beyond the owner/group/world scheme.
0062
0063 If you don't know what Access Control Lists are, say N
0064
0065 config F2FS_FS_SECURITY
0066 bool "F2FS Security Labels"
0067 depends on F2FS_FS_XATTR
0068 help
0069 Security labels provide an access control facility to support Linux
0070 Security Models (LSMs) accepted by AppArmor, SELinux, Smack and TOMOYO
0071 Linux. This option enables an extended attribute handler for file
0072 security labels in the f2fs filesystem, so that it requires enabling
0073 the extended attribute support in advance. In particular you need this
0074 option if you use the setcap command to assign initial process capabi-
0075 lities to executables (the security.* extended attributes).
0076
0077 If you are not using a security module, say N.
0078
0079 config F2FS_CHECK_FS
0080 bool "F2FS consistency checking feature"
0081 depends on F2FS_FS
0082 help
0083 Enables BUG_ONs which check the filesystem consistency in runtime.
0084
0085 If you want to improve the performance, say N.
0086
0087 config F2FS_FAULT_INJECTION
0088 bool "F2FS fault injection facility"
0089 depends on F2FS_FS
0090 help
0091 Test F2FS to inject faults such as ENOMEM, ENOSPC, and so on.
0092
0093 If unsure, say N.
0094
0095 config F2FS_FS_COMPRESSION
0096 bool "F2FS compression feature"
0097 depends on F2FS_FS
0098 help
0099 Enable filesystem-level compression on f2fs regular files,
0100 multiple back-end compression algorithms are supported.
0101
0102 config F2FS_FS_LZO
0103 bool "LZO compression support"
0104 depends on F2FS_FS_COMPRESSION
0105 default y
0106 help
0107 Support LZO compress algorithm, if unsure, say Y.
0108
0109 config F2FS_FS_LZORLE
0110 bool "LZO-RLE compression support"
0111 depends on F2FS_FS_LZO
0112 default y
0113 help
0114 Support LZO-RLE compress algorithm, if unsure, say Y.
0115
0116 config F2FS_FS_LZ4
0117 bool "LZ4 compression support"
0118 depends on F2FS_FS_COMPRESSION
0119 default y
0120 help
0121 Support LZ4 compress algorithm, if unsure, say Y.
0122
0123 config F2FS_FS_LZ4HC
0124 bool "LZ4HC compression support"
0125 depends on F2FS_FS_LZ4
0126 default y
0127 help
0128 Support LZ4HC compress algorithm, LZ4HC has compatible on-disk
0129 layout with LZ4, if unsure, say Y.
0130
0131 config F2FS_FS_ZSTD
0132 bool "ZSTD compression support"
0133 depends on F2FS_FS_COMPRESSION
0134 default y
0135 help
0136 Support ZSTD compress algorithm, if unsure, say Y.
0137
0138 config F2FS_IOSTAT
0139 bool "F2FS IO statistics information"
0140 depends on F2FS_FS
0141 default y
0142 help
0143 Support getting IO statistics through sysfs and printing out periodic
0144 IO statistics tracepoint events. You have to turn on "iostat_enable"
0145 sysfs node to enable this feature.
0146
0147 config F2FS_UNFAIR_RWSEM
0148 bool "F2FS unfair rw_semaphore"
0149 depends on F2FS_FS && BLK_CGROUP
0150 help
0151 Use unfair rw_semaphore, if system configured IO priority by block
0152 cgroup.