EROFSEnhanced Read-Only File System)是高翔等开发者为Linux内核开发的轻量级只读文件系统,旨在为各种只读使用场景(嵌入式设备、容器等)提供通用的只读文件系统解决方案。[2]EROFS着重优化了运行时性能,同时实现了存储空间节省。[2]EROFS也可以用于替代tar或cpio作为归档格式使用,拥有更好的随机读取性能。[2]

Quick Facts 开发者, 全称 ...
EROFS
开发者Gao Xiang, 华为, 阿里云, Google, OPPO, 字节跳动
全称增强型只读文件系统 Enhanced Read-Only File System
发布2019年11月24日 (2019-11-24) (Linux 5.4)
限制
最大文件尺寸
  • 4 GiB (紧凑模式)
  • 16 EiB (扩展模式, 也受到卷大小限制)[1]
最大文件数量取决于卷大小
最长文件名255 字节
最大卷容量16 TiB
功能
日期记录文件更改时间 (仅扩展模式)[1]
日期分辨率1 纳秒
属性POSIX, xattr
文件系统权限POSIX, ACL
透明压缩Yes (LZ4; LZMA 自Linux 5.16)[1]
操作系统支持Linux
Close

EROFS针对Android、HarmonyOS智能手机或嵌入式设备等硬件资源有限的设备上的高性能只读需求,提供了透明压缩节省存储空间的解决方案。[3][4] 华为所有搭载EMUI 9.0.1或更高版本的新产品均使用EROFS,[5] EMUI 9.1还将EROFS作为关键功能推广。[6] Oppo小米和部分三星产品也使用EROFS。[7][8]

EROFS在Linux 5.4中正式合并到主线。[9]

特性

EROFS文件系统有两种不同的inode磁盘布局。一种是紧凑模式,另一种是扩展模式。[1]

  • 小端设计[1]
  • 32位块地址空间,默认4 KiB块大小,在此配置下的最大文件系统大小为16 TiB[1]
  • 可以通过尾封装内联技术混合元数据和数据[1]
  • 支持POSIX属性和权限、xattr拓展属性和POSIX访问控制表[1]
  • 支持使用LZ4或MicroLZMA(自Linux 5.16起)进行固定输出透明压缩,以实现相对较高的压缩比[10] [1]
  • 原位解压,实现了更高的顺序读取速率
  • 自Linux 5.13起,支持更大的簇大小,以提供更好的压缩率[11][12]
  • 自Linux 5.15起,支持直接I/O、直接访问(DAX)[1][13]
  • 自Linux 5.15起,支持块层面的重复数据删除[1][14]
  • 自Linux 5.16起,多设备支持多层容器映像[1]
  • 自Linux 5.17起,支持尾部打包(Ztailpacking),节省更多的磁盘空间和尾部I/O
  • 自 Linux 5.19 起,基于文件的Fscache后端支持“按需模式”[15][16]
  • 自Linux 6.1起,支持滚动哈希重复数据删除和碎片化[1]

参见

参考文献

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.