Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a SquashFS writer #1

Merged
merged 8 commits into from
Jun 21, 2018
Merged

Add a SquashFS writer #1

merged 8 commits into from
Jun 21, 2018

Conversation

stapelberg
Copy link
Contributor

No description provided.

@stapelberg
Copy link
Contributor Author

cc @plougher :)

The dirInodeHeader type only uses a uint16 for the size of the directory
entries, which is sometimes not sufficient (and before this change would
overflow, resulting in directories which seemed to miss files).
This reduces the time to generate images for my largest gokrazy installation
from 3.5s to 1.6s, while only increasing the file size from 32M to 36M.
@stapelberg
Copy link
Contributor Author

Since I was unable to get a review on this, I wrote a tool to generate Squashfs images from the extracted orig tarballs of all Debian packages, then verify that unsquashfs(1) can list the contents, and that after mounting the file system, diff(1) does not identify any differences.

This tool confirmed the code works fine for all 30162 orig tarballs I tested it with, so I’m reasonably confident :).

I don’t intend to maintain the verification tool so I’m not including it in this PR, but you can find it at https://gist.github.com/stapelberg/2264acd713fed3ae58594ce4d4476c50 if you’re curious.

@stapelberg stapelberg merged commit d9943d7 into gokrazy:master Jun 21, 2018
@stapelberg stapelberg deleted the squashfs branch June 21, 2018 17:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant