| # SPDX-License-Identifier: GPL-2.0-only |
| config UBIFS_FS |
| tristate "UBIFS file system support" |
| select CRC16 |
| select CRC32 |
| select CRYPTO if UBIFS_FS_ADVANCED_COMPR |
| select CRYPTO if UBIFS_FS_LZO |
| select CRYPTO if UBIFS_FS_ZLIB |
| select CRYPTO if UBIFS_FS_ZSTD |
| select CRYPTO_LZO if UBIFS_FS_LZO |
| select CRYPTO_DEFLATE if UBIFS_FS_ZLIB |
| select CRYPTO_ZSTD if UBIFS_FS_ZSTD |
| select CRYPTO_HASH_INFO |
| select UBIFS_FS_XATTR if FS_ENCRYPTION |
| select FS_ENCRYPTION_ALGS if FS_ENCRYPTION |
| depends on MTD_UBI |
| help |
| UBIFS is a file system for flash devices which works on top of UBI. |
| |
| if UBIFS_FS |
| |
| config UBIFS_FS_ADVANCED_COMPR |
| bool "Advanced compression options" |
| help |
| This option allows to explicitly choose which compressions, if any, |
| are enabled in UBIFS. Removing compressors means inability to read |
| existing file systems. |
| |
| If unsure, say 'N'. |
| |
| config UBIFS_FS_LZO |
| bool "LZO compression support" if UBIFS_FS_ADVANCED_COMPR |
| default y |
| help |
| LZO compressor is generally faster than zlib but compresses worse. |
| Say 'Y' if unsure. |
| |
| config UBIFS_FS_ZLIB |
| bool "ZLIB compression support" if UBIFS_FS_ADVANCED_COMPR |
| default y |
| help |
| Zlib compresses better than LZO but it is slower. Say 'Y' if unsure. |
| |
| config UBIFS_FS_ZSTD |
| bool "ZSTD compression support" if UBIFS_FS_ADVANCED_COMPR |
| depends on UBIFS_FS |
| default y |
| help |
| ZSTD compresses is a big win in speed over Zlib and |
| in compression ratio over LZO. Say 'Y' if unsure. |
| |
| config UBIFS_ATIME_SUPPORT |
| bool "Access time support" |
| default n |
| help |
| Originally UBIFS did not support atime, because it looked like a bad idea due |
| increased flash wear. This option adds atime support and it is disabled by default |
| to preserve the old behavior. If you enable this option, UBIFS starts updating atime, |
| which means that file-system read operations will cause writes (inode atime |
| updates). This may affect file-system performance and increase flash device wear, |
| so be careful. How often atime is updated depends on the selected strategy: |
| strictatime is the "heavy", relatime is "lighter", etc. |
| |
| If unsure, say 'N' |
| |
| config UBIFS_FS_XATTR |
| bool "UBIFS XATTR support" |
| default y |
| help |
| Saying Y here includes support for extended attributes (xattrs). |
| Xattrs are name:value pairs associated with inodes by |
| the kernel or by users (see the attr(5) manual page). |
| |
| If unsure, say Y. |
| |
| config UBIFS_FS_SECURITY |
| bool "UBIFS Security Labels" |
| depends on UBIFS_FS_XATTR |
| default y |
| 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 ubifs filesystem, so that it requires enabling |
| the extended attribute support in advance. |
| |
| If you are not using a security module, say N. |
| |
| config UBIFS_FS_AUTHENTICATION |
| bool "UBIFS authentication support" |
| select KEYS |
| select CRYPTO_HMAC |
| select SYSTEM_DATA_VERIFICATION |
| help |
| Enable authentication support for UBIFS. This feature offers protection |
| against offline changes for both data and metadata of the filesystem. |
| If you say yes here you should also select a hashing algorithm such as |
| sha256, these are not selected automatically since there are many |
| different options. |
| |
| endif # UBIFS_FS |