162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only 262306a36Sopenharmony_ciconfig F2FS_FS 362306a36Sopenharmony_ci tristate "F2FS filesystem support" 462306a36Sopenharmony_ci depends on BLOCK 562306a36Sopenharmony_ci select BUFFER_HEAD 662306a36Sopenharmony_ci select NLS 762306a36Sopenharmony_ci select CRYPTO 862306a36Sopenharmony_ci select CRYPTO_CRC32 962306a36Sopenharmony_ci select F2FS_FS_XATTR if FS_ENCRYPTION 1062306a36Sopenharmony_ci select FS_ENCRYPTION_ALGS if FS_ENCRYPTION 1162306a36Sopenharmony_ci select FS_IOMAP 1262306a36Sopenharmony_ci select LZ4_COMPRESS if F2FS_FS_LZ4 1362306a36Sopenharmony_ci select LZ4_DECOMPRESS if F2FS_FS_LZ4 1462306a36Sopenharmony_ci select LZ4HC_COMPRESS if F2FS_FS_LZ4HC 1562306a36Sopenharmony_ci select LZO_COMPRESS if F2FS_FS_LZO 1662306a36Sopenharmony_ci select LZO_DECOMPRESS if F2FS_FS_LZO 1762306a36Sopenharmony_ci select ZSTD_COMPRESS if F2FS_FS_ZSTD 1862306a36Sopenharmony_ci select ZSTD_DECOMPRESS if F2FS_FS_ZSTD 1962306a36Sopenharmony_ci help 2062306a36Sopenharmony_ci F2FS is based on Log-structured File System (LFS), which supports 2162306a36Sopenharmony_ci versatile "flash-friendly" features. The design has been focused on 2262306a36Sopenharmony_ci addressing the fundamental issues in LFS, which are snowball effect 2362306a36Sopenharmony_ci of wandering tree and high cleaning overhead. 2462306a36Sopenharmony_ci 2562306a36Sopenharmony_ci Since flash-based storages show different characteristics according to 2662306a36Sopenharmony_ci the internal geometry or flash memory management schemes aka FTL, F2FS 2762306a36Sopenharmony_ci and tools support various parameters not only for configuring on-disk 2862306a36Sopenharmony_ci layout, but also for selecting allocation and cleaning algorithms. 2962306a36Sopenharmony_ci 3062306a36Sopenharmony_ci If unsure, say N. 3162306a36Sopenharmony_ci 3262306a36Sopenharmony_ciconfig F2FS_STAT_FS 3362306a36Sopenharmony_ci bool "F2FS Status Information" 3462306a36Sopenharmony_ci depends on F2FS_FS 3562306a36Sopenharmony_ci default y 3662306a36Sopenharmony_ci help 3762306a36Sopenharmony_ci /sys/kernel/debug/f2fs/ contains information about all the partitions 3862306a36Sopenharmony_ci mounted as f2fs. Each file shows the whole f2fs information. 3962306a36Sopenharmony_ci 4062306a36Sopenharmony_ci /sys/kernel/debug/f2fs/status includes: 4162306a36Sopenharmony_ci - major filesystem information managed by f2fs currently 4262306a36Sopenharmony_ci - average SIT information about whole segments 4362306a36Sopenharmony_ci - current memory footprint consumed by f2fs. 4462306a36Sopenharmony_ci 4562306a36Sopenharmony_ciconfig F2FS_FS_XATTR 4662306a36Sopenharmony_ci bool "F2FS extended attributes" 4762306a36Sopenharmony_ci depends on F2FS_FS 4862306a36Sopenharmony_ci default y 4962306a36Sopenharmony_ci help 5062306a36Sopenharmony_ci Extended attributes are name:value pairs associated with inodes by 5162306a36Sopenharmony_ci the kernel or by users (see the attr(5) manual page for details). 5262306a36Sopenharmony_ci 5362306a36Sopenharmony_ci If unsure, say N. 5462306a36Sopenharmony_ci 5562306a36Sopenharmony_ciconfig F2FS_FS_POSIX_ACL 5662306a36Sopenharmony_ci bool "F2FS Access Control Lists" 5762306a36Sopenharmony_ci depends on F2FS_FS_XATTR 5862306a36Sopenharmony_ci select FS_POSIX_ACL 5962306a36Sopenharmony_ci default y 6062306a36Sopenharmony_ci help 6162306a36Sopenharmony_ci Posix Access Control Lists (ACLs) support permissions for users and 6262306a36Sopenharmony_ci groups beyond the owner/group/world scheme. 6362306a36Sopenharmony_ci 6462306a36Sopenharmony_ci If you don't know what Access Control Lists are, say N 6562306a36Sopenharmony_ci 6662306a36Sopenharmony_ciconfig F2FS_FS_SECURITY 6762306a36Sopenharmony_ci bool "F2FS Security Labels" 6862306a36Sopenharmony_ci depends on F2FS_FS_XATTR 6962306a36Sopenharmony_ci help 7062306a36Sopenharmony_ci Security labels provide an access control facility to support Linux 7162306a36Sopenharmony_ci Security Models (LSMs) accepted by AppArmor, SELinux, Smack and TOMOYO 7262306a36Sopenharmony_ci Linux. This option enables an extended attribute handler for file 7362306a36Sopenharmony_ci security labels in the f2fs filesystem, so that it requires enabling 7462306a36Sopenharmony_ci the extended attribute support in advance. In particular you need this 7562306a36Sopenharmony_ci option if you use the setcap command to assign initial process capabi- 7662306a36Sopenharmony_ci lities to executables (the security.* extended attributes). 7762306a36Sopenharmony_ci 7862306a36Sopenharmony_ci If you are not using a security module, say N. 7962306a36Sopenharmony_ci 8062306a36Sopenharmony_ciconfig F2FS_CHECK_FS 8162306a36Sopenharmony_ci bool "F2FS consistency checking feature" 8262306a36Sopenharmony_ci depends on F2FS_FS 8362306a36Sopenharmony_ci help 8462306a36Sopenharmony_ci Enables BUG_ONs which check the filesystem consistency in runtime. 8562306a36Sopenharmony_ci 8662306a36Sopenharmony_ci If you want to improve the performance, say N. 8762306a36Sopenharmony_ci 8862306a36Sopenharmony_ciconfig F2FS_FAULT_INJECTION 8962306a36Sopenharmony_ci bool "F2FS fault injection facility" 9062306a36Sopenharmony_ci depends on F2FS_FS 9162306a36Sopenharmony_ci help 9262306a36Sopenharmony_ci Test F2FS to inject faults such as ENOMEM, ENOSPC, and so on. 9362306a36Sopenharmony_ci 9462306a36Sopenharmony_ci If unsure, say N. 9562306a36Sopenharmony_ci 9662306a36Sopenharmony_ciconfig F2FS_FS_COMPRESSION 9762306a36Sopenharmony_ci bool "F2FS compression feature" 9862306a36Sopenharmony_ci depends on F2FS_FS 9962306a36Sopenharmony_ci help 10062306a36Sopenharmony_ci Enable filesystem-level compression on f2fs regular files, 10162306a36Sopenharmony_ci multiple back-end compression algorithms are supported. 10262306a36Sopenharmony_ci 10362306a36Sopenharmony_ciconfig F2FS_FS_LZO 10462306a36Sopenharmony_ci bool "LZO compression support" 10562306a36Sopenharmony_ci depends on F2FS_FS_COMPRESSION 10662306a36Sopenharmony_ci default y 10762306a36Sopenharmony_ci help 10862306a36Sopenharmony_ci Support LZO compress algorithm, if unsure, say Y. 10962306a36Sopenharmony_ci 11062306a36Sopenharmony_ciconfig F2FS_FS_LZORLE 11162306a36Sopenharmony_ci bool "LZO-RLE compression support" 11262306a36Sopenharmony_ci depends on F2FS_FS_LZO 11362306a36Sopenharmony_ci default y 11462306a36Sopenharmony_ci help 11562306a36Sopenharmony_ci Support LZO-RLE compress algorithm, if unsure, say Y. 11662306a36Sopenharmony_ci 11762306a36Sopenharmony_ciconfig F2FS_FS_LZ4 11862306a36Sopenharmony_ci bool "LZ4 compression support" 11962306a36Sopenharmony_ci depends on F2FS_FS_COMPRESSION 12062306a36Sopenharmony_ci default y 12162306a36Sopenharmony_ci help 12262306a36Sopenharmony_ci Support LZ4 compress algorithm, if unsure, say Y. 12362306a36Sopenharmony_ci 12462306a36Sopenharmony_ciconfig F2FS_FS_LZ4HC 12562306a36Sopenharmony_ci bool "LZ4HC compression support" 12662306a36Sopenharmony_ci depends on F2FS_FS_LZ4 12762306a36Sopenharmony_ci default y 12862306a36Sopenharmony_ci help 12962306a36Sopenharmony_ci Support LZ4HC compress algorithm, LZ4HC has compatible on-disk 13062306a36Sopenharmony_ci layout with LZ4, if unsure, say Y. 13162306a36Sopenharmony_ci 13262306a36Sopenharmony_ciconfig F2FS_FS_ZSTD 13362306a36Sopenharmony_ci bool "ZSTD compression support" 13462306a36Sopenharmony_ci depends on F2FS_FS_COMPRESSION 13562306a36Sopenharmony_ci default y 13662306a36Sopenharmony_ci help 13762306a36Sopenharmony_ci Support ZSTD compress algorithm, if unsure, say Y. 13862306a36Sopenharmony_ci 13962306a36Sopenharmony_ciconfig F2FS_IOSTAT 14062306a36Sopenharmony_ci bool "F2FS IO statistics information" 14162306a36Sopenharmony_ci depends on F2FS_FS 14262306a36Sopenharmony_ci default y 14362306a36Sopenharmony_ci help 14462306a36Sopenharmony_ci Support getting IO statistics through sysfs and printing out periodic 14562306a36Sopenharmony_ci IO statistics tracepoint events. You have to turn on "iostat_enable" 14662306a36Sopenharmony_ci sysfs node to enable this feature. 14762306a36Sopenharmony_ci 14862306a36Sopenharmony_ciconfig F2FS_UNFAIR_RWSEM 14962306a36Sopenharmony_ci bool "F2FS unfair rw_semaphore" 15062306a36Sopenharmony_ci depends on F2FS_FS && BLK_CGROUP 15162306a36Sopenharmony_ci help 15262306a36Sopenharmony_ci Use unfair rw_semaphore, if system configured IO priority by block 15362306a36Sopenharmony_ci cgroup. 154