An introduction to EROFS
An introduction to EROFS
Posted Jun 8, 2023 10:39 UTC (Thu) by hsiangkao (guest, #123981)In reply to: An introduction to EROFS by hsiangkao
Parent article: An introduction to EROFS
Add some words: I just meant compressed data is block-aligned like those as far as I understand, but actually EROFS can handle arbitary decompressed offset/length instead of block-aligned decompressed offset/length compared with f2fs/btrfs. So that EROFS can do block-unaligned rolling hash compressed data deduplication since Linux v6.1 (also called CDC).
In principle, we could record byte-granularity decompressed offset/length pair and byte-granularity arbitary compressed offset/length pair for each compression unit but that makes on-disk indexes ineffective (metadata I/O) even makes on-disk index random access impossible. In addition, unaligned compressed data makes caching/in-place I/O strategy unfriendly.
For more details of detailed design, you could also refer to EROFS ATC19 paper and kernel documentation if needed.