erofs(5)

๐Ÿ’– erofs โ€” the Enhanced Read-Only File System ๐Ÿ’–

okay bestie, gather round, because this is the page for erofs, aka the Enhanced Read-Only File System, and it is lowkey iconic. this is the erofs(5) page from the File Formats Manual, and we're gonna go through it together, no cap. ๐Ÿฆ‹


โœจ NAME โœจ

erofs โ€” the Enhanced Read-Only File System. that's it, that's the name, she's simple and she knows it ๐Ÿ’…


๐ŸŒธ DESCRIPTION ๐ŸŒธ

so erofs is a create-once read-only filesystem, and she comes with two very cute party tricks: support for compression, and a multi-device backing store. obsessed. ๐Ÿซถ

there are two inode formats, and you will be hearing about both:

  • 32-byte compact โ€” with 16-bit UID/GID, 32-bit file size, and no file times (she lives in the moment, no timestamps, periodt)
  • 64-byte extended โ€” with 32-bit UID/GID, 64-bit file size, and a modification time (st_mtim). she remembers everything, main character energy honestly โœจ

๐ŸŽ€ Mount options ๐ŸŽ€

the way that mounting has OPTIONS, and every single one matters, so let's go one by one, no skipping, we're not doing that here:

  • user_xattr, nouser_xattr โ€” controls whether user extended attributes are exposed. defaults to yes. ๐ŸŒˆ
  • acl, noacl โ€” controls whether POSIX acl(5)s are exposed. defaults to yes. literally the same vibe as the xattr one but for ACLs โœจ
  • cache_strategy=disabled|readahead|readaround โ€” cache allocation for compressed files. the three values line up like this: never (disabled), if reading from start of file (readahead), regardless of position (readaround). defaults to readaround. she's generous with the cache by default, we love that for her ๐Ÿ’–
  • dax, dax=always|never โ€” Direct Access control. if you go always and the source device supports DAX, then uncompressed non-inlined files will be read directly, without going through the page cache. spicy! ๐Ÿ”ฅ also: plain dax is a synonym for always. defaults to unset, which is equivalent to never. so by default she is NOT doing the DAX thing, noted ๐Ÿ“
  • device=blobdev โ€” add an extra device holding some of the data. okay this one is important bestie: it must be given as many times, and in the same order, as --blobdev was to mkfs.erofs(1). same count, same order, or it's not gonna vibe check correctly ๐Ÿ˜ญ
  • domain_id=did, fsid=id โ€” control CacheFiles on-demand read support. and then... "To be documented." yeah. that's the whole thing. the docs said we'll get to it, and they did NOT get to it ๐Ÿ’€. we respect the honesty tho ๐ŸŽ€

๐Ÿ‘‘ VERSIONS ๐Ÿ‘‘

erofs images are versioned through the use of feature flags; these are listed in the -E section of mkfs.erofs(1), ๐Ÿฆ‹

so if you wanna know what your image is actually capable of, that's where you look, iykyk โœจ


๐Ÿงš CONFIGURATION ๐Ÿงš

Linux must be configured with the CONFIG_EROFS_FS option to mount EROFS filesystems. no config, no mount, that's the rule, bestie ๐Ÿ’…

and heads up: there are sub-configuration items that restrict the availability of some of the parameters above. so yeah, some of those cute mount options might just not be available depending on how your kernel was built. rude, but that's the deal ๐Ÿ™ˆ


๐ŸŒˆ HISTORY ๐ŸŒˆ

Stable since Linux 5.4. she's been thriving for a while now, an absolute icon โญ


๐Ÿซถ SEE ALSO ๐Ÿซถ

and also, from the Linux source: Documentation/filesystems/erofs.rst ๐Ÿ“š


okay that's the whole page, you ate that reading it, go mount something read-only and be free ๐Ÿฆ‹๐Ÿ’œ

this was the Linux man-pages 6.20 version, dated 2026-09-09 โ€” mwah, love u, bye ๐Ÿ‘‘โœจ

๐Ÿ“ฆ where this page comes from
  • arch rolling: man-pages 6.20-1 ยท BSD-2-Clause AND BSD-3-Clause AND BSD-4.3TAHOE AND BSD-4-Clause-UC AND GPL-1.0-or-later AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-or-later AND LGPL-3.0-linking-exception AND LGPL-3.0-or-later AND LicenseRef-Public-Domain AND LicenseRef-UltraPermissive AND Linux-man-pages-1-para AND Linux-man-pages-copyleft AND Linux-man-pages-copyleft-2-para AND Linux-man-pages-copyleft-var AND MIT AND Spencer-94
  • nixpkgs unstable: man-pages 6.20
  • ๐Ÿ“œ the page's license: Linux-man-pages-copyleft
  • ๐Ÿ’– girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms