Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions src/design.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,10 @@ nearly the same.
EROFS data is all arranged in **fixed-size blocks** (aka. block-aligned,
typically 4 KiB) like many modern disk filesystems (e.g. ext4, xfs, btrfs, f2fs,
etc.) to match the intrinsic characteristics of [block devices](https://en.wikipedia.org/wiki/Block_\(data_storage\)).
This means the corresponding data can be *directly* parsed if you read a single
This means the corresponding data can be *directly* parsed by reading a single
filesystem block for __non-encoded data__ or (possibly) multiple consecutive blocks
(called a single physical cluster) for __encoded data__, which is different
from _archive formats or unaligned filesystems_ (e.g. `cramfs`, `romfs`, `squashfs`,
(called a single physical cluster) for __encoded data__, which differs from
_archive formats or unaligned filesystems_ (e.g. `cramfs`, `romfs`, `squashfs`,
`affs`, and possibly more FUSE-based implementations.)

![Comparison between unaligned and block-aligned data](_static/aligned_io.svg)
Expand Down Expand Up @@ -66,8 +66,8 @@ the final blocks of physical clusters will not be fully filled with encoded
data. Currently LZ4, LZMA (Linux 5.15+), DEFLATE (Linux 6.6+), and Zstandard
(Linux 6.10+) algorithms natively support this mode.

Fixed-size output compression generally has better compression ratios, especially
on small physical clusters (e.g. 4 or 8 KiB) with about 5% additional space saved.
Fixed-size output compression generally provides better compression ratios,
especially on small physical clusters (e.g., 4 or 8 KiB), saving about 5% additional space.

Note that **small compressed physical clusters** are quite important to
end-to-end performance for memory-intensive workloads (that is exactly the EROFS
Expand Down
5 changes: 2 additions & 3 deletions src/developers.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,7 @@ $ git clone git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs-utils.git
| master | erofs-utils stable tree | No |

### Linux kernel source

If you're interested in EROFS kernel development, it'd be much better to keep
If you're interested in EROFS kernel development, it is recommended to keep
your local code in sync with the latest [EROFS development repo](https://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs.git):

```sh
Expand All @@ -39,7 +38,7 @@ EROFS has its own development mailing list hosted by [OzLabs](https://www.ozlabs
You can [subscribe to the mailing list](https://lists.ozlabs.org/listinfo/linux-erofs)
to receive the latest status of EROFS.

When posting, it'd be much helpful to:
When posting, it is helpful to:

- Add an additional tag in the subject like `[PATCH]`, `[question]` or
`[bug report]`, etc.;
Expand Down
12 changes: 5 additions & 7 deletions src/faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,11 @@

## Why are images packaged in EROFS larger than those with SquashFS?

First of all, the initial target use cases of EROFS are _high-performance
embedded scenarios, such as smartphones powered by Android_. Runtime
performance is always the top priority for EROFS (or, systems and applications
will be lagged), even if it means sacrificing some ultra-space savings to avoid
The primary target use cases of EROFS are _high-performance embedded scenarios, such as Android-powered smartphones_. Runtime
performance is always the top priority for EROFS (otherwise, systems and applications may experience performance issues), even if it means sacrificing some ultra-space savings to avoid
significant performance regressions against uncompressed approaches.

However, EROFS has landed **several new on-disk features** to narrow the slight
However, EROFS has introduced**several new on-disk features** to narrow the slight
size difference with SquashFS or even outperform SquashFS. When comparing,
please ensure the same configuration is used:

Expand Down Expand Up @@ -63,8 +61,8 @@ In addition, EROFS may produce larger images due to the following differences:
Note that EROFS is still under active development. The features mentioned above
are not top priorities at the moment due to limited development resources
(anyway, SquashFS has been existed for over 20 years) and target use scenarios,
but they will be considered in the future, and contributions are always welcome.
Again, note that SquashFS doesn't always outperform EROFS in image size either.
but they may be considered in the future, and contributions are always welcome.
Note that SquashFS does not always outperform EROFS in terms of image size.
EROFS images are often significantly smaller (while still offering better
runtime performance) when compressing files in small compressed extent sizes
(especially smaller than 32KiB).
Expand Down
6 changes: 3 additions & 3 deletions src/features.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@ imagefs.md
comparison/dedupe.md
```

Note that it's just **an incomplete list** for the qualitative evaluation.
The overall purpose of this is to show EROFS benefits compared to other
in-kernel approaches when making technical decisions.
Note that this is only an **incomplete list** for qualitative evaluation.
The overall purpose is to highlight the benefits of EROFS compared to other
in-kernel filesystems when making technical decisions.

| Feature (as of Linux 6.17) | EROFS | EXT4 | SquashFS |
| ------------------------------- | ----------------- | --------- | ------------- |
Expand Down