Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
When creating an `ext3` filesystem with `mkfs` (which underneath calls `mke2fs` via the `mkfs.ext3` alias) various default filesystem settings (such as the inode ratio and block size) are chosen based on the "usage type" of the filesystem. If not explicitly specified, this "usage type" is determined based on the size of the filesystem. For example, the `default` profile is used for filesystems between 512 MB and 4 TB, and the `small` profile is used for filesystems between 3 MB and 512 MB. See: https://manpages.ubuntu.com/manpages/jammy/en/man8/mkfs.ext3.8.html For #266 I have several local changes for making the Heroku-24 images smaller, however, image generation was failing since the slimmer images now fall under the 512 MB threshold, causing `mke2fs` to use the `small` profile instead. This `small` profile uses a drastically different `inode_ratio`, which is very inefficient for our use-case - resulting in a filesystem overhead of over 11%, which throws off the `.img` size calculation. Whilst we could work around this by adjusting the `.img` size calculations, it makes more sense to force the usage of the `default` profile, so all of our base images use the same filesystem settings, rather than relying on `mke2fs`'s size heuristics. I've also enabled verbose output (which shows the profile being used) and added additional file size logging. GUS-W-15292800.
- Loading branch information