925c86a19b
Add a new config option that controls building the buffer_head code, and select it from all file systems and stacking drivers that need it. For the block device nodes and alternative iomap based buffered I/O path is provided when buffer_head support is not enabled, and iomap needs a a small tweak to define the IOMAP_F_BUFFER_HEAD flag to 0 to not call into the buffer_head code when it doesn't exist. Otherwise this is just Kconfig and ifdef changes. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Luis Chamberlain <mcgrof@kernel.org> Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com> Link: https://lore.kernel.org/r/20230801172201.1923299-7-hch@lst.de Signed-off-by: Jens Axboe <axboe@kernel.dk>
154 lines
4.5 KiB
Plaintext
154 lines
4.5 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0-only
|
|
config F2FS_FS
|
|
tristate "F2FS filesystem support"
|
|
depends on BLOCK
|
|
select BUFFER_HEAD
|
|
select NLS
|
|
select CRYPTO
|
|
select CRYPTO_CRC32
|
|
select F2FS_FS_XATTR if FS_ENCRYPTION
|
|
select FS_ENCRYPTION_ALGS if FS_ENCRYPTION
|
|
select FS_IOMAP
|
|
select LZ4_COMPRESS if F2FS_FS_LZ4
|
|
select LZ4_DECOMPRESS if F2FS_FS_LZ4
|
|
select LZ4HC_COMPRESS if F2FS_FS_LZ4HC
|
|
select LZO_COMPRESS if F2FS_FS_LZO
|
|
select LZO_DECOMPRESS if F2FS_FS_LZO
|
|
select ZSTD_COMPRESS if F2FS_FS_ZSTD
|
|
select ZSTD_DECOMPRESS if F2FS_FS_ZSTD
|
|
help
|
|
F2FS is based on Log-structured File System (LFS), which supports
|
|
versatile "flash-friendly" features. The design has been focused on
|
|
addressing the fundamental issues in LFS, which are snowball effect
|
|
of wandering tree and high cleaning overhead.
|
|
|
|
Since flash-based storages show different characteristics according to
|
|
the internal geometry or flash memory management schemes aka FTL, F2FS
|
|
and tools support various parameters not only for configuring on-disk
|
|
layout, but also for selecting allocation and cleaning algorithms.
|
|
|
|
If unsure, say N.
|
|
|
|
config F2FS_STAT_FS
|
|
bool "F2FS Status Information"
|
|
depends on F2FS_FS
|
|
default y
|
|
help
|
|
/sys/kernel/debug/f2fs/ contains information about all the partitions
|
|
mounted as f2fs. Each file shows the whole f2fs information.
|
|
|
|
/sys/kernel/debug/f2fs/status includes:
|
|
- major filesystem information managed by f2fs currently
|
|
- average SIT information about whole segments
|
|
- current memory footprint consumed by f2fs.
|
|
|
|
config F2FS_FS_XATTR
|
|
bool "F2FS extended attributes"
|
|
depends on F2FS_FS
|
|
default y
|
|
help
|
|
Extended attributes are name:value pairs associated with inodes by
|
|
the kernel or by users (see the attr(5) manual page for details).
|
|
|
|
If unsure, say N.
|
|
|
|
config F2FS_FS_POSIX_ACL
|
|
bool "F2FS Access Control Lists"
|
|
depends on F2FS_FS_XATTR
|
|
select FS_POSIX_ACL
|
|
default y
|
|
help
|
|
Posix Access Control Lists (ACLs) support permissions for users and
|
|
groups beyond the owner/group/world scheme.
|
|
|
|
If you don't know what Access Control Lists are, say N
|
|
|
|
config F2FS_FS_SECURITY
|
|
bool "F2FS Security Labels"
|
|
depends on F2FS_FS_XATTR
|
|
help
|
|
Security labels provide an access control facility to support Linux
|
|
Security Models (LSMs) accepted by AppArmor, SELinux, Smack and TOMOYO
|
|
Linux. This option enables an extended attribute handler for file
|
|
security labels in the f2fs filesystem, so that it requires enabling
|
|
the extended attribute support in advance. In particular you need this
|
|
option if you use the setcap command to assign initial process capabi-
|
|
lities to executables (the security.* extended attributes).
|
|
|
|
If you are not using a security module, say N.
|
|
|
|
config F2FS_CHECK_FS
|
|
bool "F2FS consistency checking feature"
|
|
depends on F2FS_FS
|
|
help
|
|
Enables BUG_ONs which check the filesystem consistency in runtime.
|
|
|
|
If you want to improve the performance, say N.
|
|
|
|
config F2FS_FAULT_INJECTION
|
|
bool "F2FS fault injection facility"
|
|
depends on F2FS_FS
|
|
help
|
|
Test F2FS to inject faults such as ENOMEM, ENOSPC, and so on.
|
|
|
|
If unsure, say N.
|
|
|
|
config F2FS_FS_COMPRESSION
|
|
bool "F2FS compression feature"
|
|
depends on F2FS_FS
|
|
help
|
|
Enable filesystem-level compression on f2fs regular files,
|
|
multiple back-end compression algorithms are supported.
|
|
|
|
config F2FS_FS_LZO
|
|
bool "LZO compression support"
|
|
depends on F2FS_FS_COMPRESSION
|
|
default y
|
|
help
|
|
Support LZO compress algorithm, if unsure, say Y.
|
|
|
|
config F2FS_FS_LZORLE
|
|
bool "LZO-RLE compression support"
|
|
depends on F2FS_FS_LZO
|
|
default y
|
|
help
|
|
Support LZO-RLE compress algorithm, if unsure, say Y.
|
|
|
|
config F2FS_FS_LZ4
|
|
bool "LZ4 compression support"
|
|
depends on F2FS_FS_COMPRESSION
|
|
default y
|
|
help
|
|
Support LZ4 compress algorithm, if unsure, say Y.
|
|
|
|
config F2FS_FS_LZ4HC
|
|
bool "LZ4HC compression support"
|
|
depends on F2FS_FS_LZ4
|
|
default y
|
|
help
|
|
Support LZ4HC compress algorithm, LZ4HC has compatible on-disk
|
|
layout with LZ4, if unsure, say Y.
|
|
|
|
config F2FS_FS_ZSTD
|
|
bool "ZSTD compression support"
|
|
depends on F2FS_FS_COMPRESSION
|
|
default y
|
|
help
|
|
Support ZSTD compress algorithm, if unsure, say Y.
|
|
|
|
config F2FS_IOSTAT
|
|
bool "F2FS IO statistics information"
|
|
depends on F2FS_FS
|
|
default y
|
|
help
|
|
Support getting IO statistics through sysfs and printing out periodic
|
|
IO statistics tracepoint events. You have to turn on "iostat_enable"
|
|
sysfs node to enable this feature.
|
|
|
|
config F2FS_UNFAIR_RWSEM
|
|
bool "F2FS unfair rw_semaphore"
|
|
depends on F2FS_FS && BLK_CGROUP
|
|
help
|
|
Use unfair rw_semaphore, if system configured IO priority by block
|
|
cgroup.
|