Jump to content
Wikipedia The Free Encyclopedia

EROFS

From Wikipedia, the free encyclopedia
Read-only file system for Linux
EROFS
Developer(s) Huawei originally, Alibaba Cloud, Bytedance, Coolpad, Google, OPPO
Full nameEnhanced Read-Only File System
IntroducedNovember 24, 2019 (2019年11月24日) with Linux 5.4
Limits
Max volume size16 TiB
Max file size
  • 4 GiB (compact)
  • 16 EiB (extended, also limited by volume size)[1]
Max no. of filesDepends on volume size
Max filename length255 bytes
Features
Dates recordedFile change time (extended only)[1]
Date resolution1 ns
AttributesPOSIX, Extended file attributes
File system
permissions
POSIX, ACL
Transparent
compression
Yes (LZ4; LZMA since 5.16; DEFLATE since 6.6)[1]
Data deduplication Yes (extent-based)
Other
Supported
operating systems
Linux

EROFS (Enhanced Read-Only File System) is a lightweight read-only file system initially developed by Huawei, originally for the Linux kernel and now maintained by an open-source community.

EROFS aims to form a generic read-only file system solution for various read-only use cases (embedded devices, containers and more) instead of just focusing on storage space saving without considering any side effects of runtime performance.[1]

For example, it provides a solution to save storage space by using transparent compression as an option for scenarios that need high-performance read-only requirements on their devices with limited hardware resources, e.g. smartphones like Android and IoT operating systems such as HarmonyOS alongside its HarmonyOS NEXT core system iteration.[2] [3] All of Huawei's new products shipped with EMUI 9.0.1 or later used EROFS,[4] and it was promoted as one of the key features of EMUI 9.1.[5] Oppo, Xiaomi and some Samsung products also use EROFS.[6] [7]

Also, it provides a content-addressable chunk-based container image solution together with lazy pulling feature to accelerate container startup speed by using new file-based fscache backend since Linux kernel v5.19.[8]

The file system was formally merged into the mainline kernel with Linux kernel v5.4.[9]

Features

[edit ]

The file system has two different inode on-disk layouts. One is compact, and the other is extended.[1]

  • Little-endian on-disk design[1]
  • 32-bit block addressing, which currently limits the total possible capacity of an EROFS filesystem to 16 TiB of 4 KiB block size.[1]
  • Metadata and data can be mixed by design for on-disk flexibility together with tail-packing inline data technology[1]
  • Support POSIX attributes and permissions, extended file attributes and ACL [1]
  • Fixed-size output transparent compression with LZ4, MicroLZMA (since Linux 5.16[10] ) and/or DEFLATE (since Linux 6.6[11] ) for relative higher compression ratios[1]
  • In-place decompression for higher sequential read [12] [13]
  • Big pcluster feature allowing up to 1 MiB big pclusters for better compression ratios since Linux 5.13.[14] [15]
  • Direct I/O, Direct Access (DAX) support, chunk-based data deduplication for uncompressed files since Linux 5.15.[1] [16]
  • Multiple device support for multiple layer container images since Linux 5.16.[1]
  • Ztailpacking support since Linux 5.17.[17]
  • File-based Fscache backend support since Linux 5.19 with "on-demand mode".[18] [19]
  • Rolling hash deduplicated data compression and fragment support since Linux 6.1. [1]

See also

[edit ]

References

[edit ]
  1. ^ a b c d e f g h i j k l m Gao Xiang. "erofs.html". www.kernel.org. Retrieved 2022年08月04日.
  2. ^ Michael Larabel (2018年11月19日). "There Is Finally A User-Space Utility To Make EROFS Linux File-Systems". Phoronix. Retrieved 2018年12月13日.
  3. ^ Xiang, Gao (2018年05月31日). "erofs: introduce erofs file system". Linux kernel (Mailing list). Retrieved 2018年12月13日.
  4. ^ Xiang, Gao (2019年07月04日). "erofs: promote erofs from staging". Linux kernel (Mailing list). Retrieved 2019年09月03日.
  5. ^ "EMUI 9.1, the Intelligent Android OS". HUAWEI Global. Huawei Technologies. Retrieved 2022年01月10日.
  6. ^ "Google's plan to use EROFS on Android". 20 May 2022. Retrieved 2022年08月04日.
  7. ^ "The Galaxy S23 might be Samsung's first Android device to use EROFS". 2023年02月07日. Retrieved 2023年07月22日.
  8. ^ "The Evolution of the Nydus Image Acceleration". 6 June 2022. Retrieved 2022年08月04日.
  9. ^ corbet (2019年11月25日). "The 5.4 kernel has been released". LWN.net. Retrieved 2019年12月01日.
  10. ^ Michael Larabel. "EROFS File-System Adding LZMA Compression Support Via New MicroLZMA". Phoronix. Retrieved 2022年01月10日.
  11. ^ Michael Larabel. "EROFS File-System Adding DEFLATE Compression Support". Phoronix. Retrieved 2023年09月03日.
  12. ^ "staging: erofs: introduce LZ4 decompression inplace" . Retrieved 2020年12月03日.
  13. ^ "staging: erofs: integrate decompression inplace" . Retrieved 2020年12月03日.
  14. ^ Michael Larabel. "EROFS Sends In "Big Pcluster" Support For Linux 5.13, Other Improvements". Phoronix. Retrieved 2021年07月11日.
  15. ^ "erofs: add big pcluster compression support" . Retrieved 2021年07月11日.
  16. ^ Michael Larabel. "XFS & EROFS File-Systems Have Big Changes For Linux 5.15". Phoronix. Retrieved 2021年11月02日.
  17. ^ "EROFS-Utils 1.5 Released With ZTailPacking, FSCK Extraction" . Retrieved 2022年08月04日.
  18. ^ Jonathan Corbet. "5.19 Merge window, part 1" . Retrieved 2022年08月04日.
  19. ^ Marius Nestor (31 July 2022). "Linux Kernel 5.19 Officially Released, Linus Torvalds Teases Linux 6.0 as Next Kernel Series" . Retrieved 2022年08月04日.
[edit ]
Disk and
non-rotating
Optical disc
Flash memory and SSD
host-side wear leveling
Distributed parallel
NAS
Specialized
Pseudo
Encrypted
Types
Features
Access control
Interfaces
Lists
Layouts
Smart devices
Phones
Ascend
P/Pura series
Mate series
Foldable series
Nova series
G series
Y Series
Other
Tablets
Laptops
Wearables
CPU/NPU
OS
Communications
infrastructure
Services
People
Other

AltStyle によって変換されたページ (->オリジナル) /