-
Notifications
You must be signed in to change notification settings - Fork 54
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 erofs support #1117
Add erofs support #1117
Conversation
Currently works to build an erofs |
2544bd2
to
0c05cbb
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks very nice, one question about a possible test. Also, what is keeping this in draft? It seems quite complete (code-wise) or am I missing something?
0c05cbb
to
c201271
Compare
Rebased due to image build cache layout change (#1130) |
c201271
to
9cc0d18
Compare
RHEL10 will be a followup commit, added tests as suggested by @mvo5 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Very nice. I would only wonder if we want to make RootfsCompression
also some kinda-enum; or if we want to move them together into a single property just called rootfs
that contains both the rootfstype and the rootfscompression, just so we can (more easily) validate them together in case some compressions do not fit some rootfstypes?
I pondered that, but chose to leave it free-form for now. It's used by different compression stages so I don't think it makes sense to make it an enum when the allowed values are really up to the osbuild stage. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you! This looks very nice (small idea inline for your consideration but no blockers from my pov).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM but I'd like to see the comments resolved. They're all minor (the append()
ing and the test that @mvo5 already wrote), but good to have it clean from the start.
I don't mind it being a follow-up PR if merging this unblocks other work.
Supports passing the compression type, extended erofs options, and maximum compress physical cluster size.
In preparation for adding erofs support rename the variable since it will be used for more than squashfs.
This will make it easier to select other rootfs types without depending on side-effects like rootfsPipeline being nil.
Add support for erofs by setting the RootfsType on AnacondaInstallerISOTree to ErofsRootfs to select a plain erofs compressed root filesystem for the Anaconda ISO. The mkfs.erofs arguments will look like this: zstd,8 -E all-fragments,dedupe -C 131072
Add tests to make sure the squashfs or erofs (without squashfs) stages are present in the manifest when the RootfsType is set.
This commit adds a minimal json test for the erof stage to ensure that the json struct tags are correct and to also in the "test-as-documentation" sense to hint at what the json looks like.
9cc0d18
to
85183d3
Compare
Things that are needed:
RHEL 10 kernel needs to support erofs and zstd compression/jira-epic RHELBU-2806