# SPDX-License-Identifier: GPL-2.0 
 | 
  
 | 
config EROFS_FS 
 | 
    tristate "EROFS filesystem support" 
 | 
    depends on BLOCK 
 | 
    help 
 | 
      EROFS(Enhanced Read-Only File System) is a lightweight 
 | 
      read-only file system with modern designs (eg. page-sized 
 | 
      blocks, inline xattrs/data, etc.) for scenarios which need 
 | 
      high-performance read-only requirements, eg. firmwares in 
 | 
      mobile phone or LIVECDs. 
 | 
  
 | 
      It also provides VLE compression support, focusing on 
 | 
      random read improvements, keeping relatively lower 
 | 
      compression ratios, which is useful for high-performance 
 | 
      devices with limited memory and ROM space. 
 | 
  
 | 
      If unsure, say N. 
 | 
  
 | 
config EROFS_FS_DEBUG 
 | 
    bool "EROFS debugging feature" 
 | 
    depends on EROFS_FS 
 | 
    help 
 | 
      Print EROFS debugging messages and enable more BUG_ONs 
 | 
      which check the filesystem consistency aggressively. 
 | 
  
 | 
      For daily use, say N. 
 | 
  
 | 
config EROFS_FS_XATTR 
 | 
    bool "EROFS extended attributes" 
 | 
    depends on EROFS_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, or visit 
 | 
      <http://acl.bestbits.at/> for details). 
 | 
  
 | 
      If unsure, say N. 
 | 
  
 | 
config EROFS_FS_POSIX_ACL 
 | 
    bool "EROFS Access Control Lists" 
 | 
    depends on EROFS_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. 
 | 
  
 | 
      To learn more about Access Control Lists, visit the POSIX ACLs for 
 | 
      Linux website <http://acl.bestbits.at/>. 
 | 
  
 | 
      If you don't know what Access Control Lists are, say N. 
 | 
  
 | 
config EROFS_FS_SECURITY 
 | 
    bool "EROFS Security Labels" 
 | 
    depends on EROFS_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 erofs filesystem, so that it requires enabling 
 | 
      the extended attribute support in advance. 
 | 
  
 | 
      If you are not using a security module, say N. 
 | 
  
 | 
config EROFS_FS_USE_VM_MAP_RAM 
 | 
    bool "EROFS VM_MAP_RAM Support" 
 | 
    depends on EROFS_FS 
 | 
    help 
 | 
      use vm_map_ram/vm_unmap_ram instead of vmap/vunmap. 
 | 
  
 | 
      If you don't know what these are, say N. 
 | 
  
 | 
config EROFS_FAULT_INJECTION 
 | 
    bool "EROFS fault injection facility" 
 | 
    depends on EROFS_FS 
 | 
    help 
 | 
      Test EROFS to inject faults such as ENOMEM, EIO, and so on. 
 | 
      If unsure, say N. 
 | 
  
 | 
config EROFS_FS_ZIP 
 | 
    bool "EROFS Data Compresssion Support" 
 | 
    depends on EROFS_FS 
 | 
    help 
 | 
      Currently we support VLE Compression only. 
 | 
      Play at your own risk. 
 | 
  
 | 
      If you don't want to use compression feature, say N. 
 | 
  
 | 
config EROFS_FS_CLUSTER_PAGE_LIMIT 
 | 
    int "EROFS Cluster Pages Hard Limit" 
 | 
    depends on EROFS_FS_ZIP 
 | 
    range 1 256 
 | 
    default "1" 
 | 
    help 
 | 
      Indicates VLE compressed pages hard limit of a 
 | 
      compressed cluster. 
 | 
  
 | 
      For example, if files of a image are compressed 
 | 
      into 8k-unit, the hard limit should not be less 
 | 
      than 2. Otherwise, the image cannot be mounted 
 | 
      correctly on this kernel. 
 | 
  
 | 
choice 
 | 
    prompt "EROFS VLE Data Decompression mode" 
 | 
    depends on EROFS_FS_ZIP 
 | 
    default EROFS_FS_ZIP_CACHE_BIPOLAR 
 | 
    help 
 | 
      EROFS supports three options for VLE decompression. 
 | 
      "In-place Decompression Only" consumes the minimum memory 
 | 
      with lowest random read. 
 | 
  
 | 
      "Bipolar Cached Decompression" consumes the maximum memory 
 | 
      with highest random read. 
 | 
  
 | 
      If unsure, select "Bipolar Cached Decompression" 
 | 
  
 | 
config EROFS_FS_ZIP_NO_CACHE 
 | 
    bool "In-place Decompression Only" 
 | 
    help 
 | 
      Read compressed data into page cache and do in-place 
 | 
      decompression directly. 
 | 
  
 | 
config EROFS_FS_ZIP_CACHE_UNIPOLAR 
 | 
    bool "Unipolar Cached Decompression" 
 | 
    help 
 | 
      For each request, it caches the last compressed page 
 | 
      for further reading. 
 | 
      It still decompresses in place for the rest compressed pages. 
 | 
  
 | 
config EROFS_FS_ZIP_CACHE_BIPOLAR 
 | 
    bool "Bipolar Cached Decompression" 
 | 
    help 
 | 
      For each request, it caches the both end compressed pages 
 | 
      for further reading. 
 | 
      It still decompresses in place for the rest compressed pages. 
 | 
  
 | 
      Recommended for performance priority. 
 | 
  
 | 
endchoice 
 |