# 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 
 |